多线程如何在Android中运行?

Rah*_*dia 11 multithreading android

我试图并行运行4个线程,但失败了.

我尝试使用同步wait()notify() CyclicBarrier ThreadPoolExecutor CountDownLatch AsyncTask许多其他,但没有管理并行运行线程.

我们可以并行运行4个线程(即在android中同时运行)吗?怎么样?

注意:我正在使用Audio Streaming using AudioRecordAudioTrackAPI.

Sah*_* Mj 16

我们可以在Android中同时运行4个线程并行吗?

是的,您可以并行运行4个线程.添加更多线程通常会有所帮助,但在某些时候,它们会导致性能下降.但是4个线程不会导致问题.

问题:我无法运行线程并行,即第1个线程运行:4次,第2次第3次第4次仅运行1次.如何让它运行(尝试使用提到的线程,但不成功运行所有线程并行)并行?

如果您的目标只是让所有线程都积极处理,我建议您查看Java 线程池(以及更常见的Executors).

android支持MULTI-THREADING?若是,多线程如何在android中工作?

是的,Android支持多线程.实现它的最佳方式(线程池和执行器除外)是AsyncTask

AsyncTask允许您实现doInBackground(),您的线程可以在其任务中动摇.这与您获得的功能类似Thread.

当你重写了真正的奇迹发生onPreExecute()onPostExecute(),这是在UI线程上执行两者.这样可以防止您收到有关您的活动的消息.

这个答案包含一个小代码示例AsyncTask,可以帮助您入门.

另外,请查看Android 中的Handlers

编辑 -我在研究过程中发现,录制,发送和接收音频都是非常互动的过程,需要同步和IO资源.最好的解决方案可能是,您可以为每个操作创建单独的AsyncTask,以便每个操作都在其单独的AsyncTask中执行.