write()를 사용하는 것이 가능합니다. 스레드를 사용하지 않고 비 블로킹 기능을 사용합니까?장치에 넌 블로킹 쓰기를 수행하는 방법은 무엇입니까?
short buffer[BUFFER_LEN];
int readcount;
while ((readcount = sounds[index].read(buffer, BUFFER_LEN)))
write(audio_device, buffer, readcount * sizeof(short));
사운드는 재생되지만 재생이 끝날 때까지 프로그램을 차단합니다.
그렇습니다. 스레드 안전이없는 쓰기 기능을 사용하면 같은 정보를 사용하는 다른 스레드와 동시에 다른 동작이 발생할 수 있습니다. –