Нет чистого способа уничтожить поток, поэтому, если вам нужно сделать что-то подобное, вы должны либо использовать функцию, которая включает в себя некоторую возможность отмены, либо использовать для нее отдельный процесс, поскольку вы может убить процесс чисто.
Кроме этого, моя немедленная реакция заключается в том, что вместо «открытия» (вы имеете в виду создание?) потока А 24 раза в секунду, вам будет лучше снить A читает буфер, отправляет его в нить B, затем спит, пока не будет готова прочитать другой буфер.Создание и уничтожение потоков не ужасно дорого, но делать это со скоростью 24 (или, по-видимому, 48) в секунду мне кажется немного чрезмерным.