我有两个线程。一是将音频数据记录到变量中。另一个线程将记录的变量发送到服务器。由于我是多线程新手,在并发方面我需要做什么?
下面是代码片段:
short[] sData = new short[1024];
recordingThread = new Thread(new Runnable() {
public void run() {
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_AUDIO);
while (isRecording) {
recorder.read(sData, 0, BufferElements2Rec);
}
}
}, "AudioRecorder Thread");
recordingThread.start();
另一个线程正在访问相同的 sData 并将其发送到服务器:
Thread sendThread= new Thread(new Runnable() {
public void run() {
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_AUDIO);
while (true) {
try {
ByteBuffer.wrap(bData).order(ByteOrder.LITTLE_ENDIAN)
.asShortBuffer().put(sData);
}
}
});