所以我有了它的主机和客户端我的Android蓝牙应用。问题是,因为我正在建立多个连接,所以我需要一个线程来处理每个连接。这都是牛奶,所以我想我会把所有的线程都粘在一个数组中。一个小小的研究表明,一个更好的方法是使用线程池,但我似乎无法理解它的工作原理。另外,实际上甚至可以在数组中保存线程?Android线程池管理多个蓝牙handeling线程?
2
A
回答
2
线程池周围的想法,因为一遍一遍地创建线程是耗时的建成,我们应该尝试尽可能多地回收。因此,一个线程池是执行的作业,但是当他们完成一个任务没有被破坏,而是线程的集合“重返池”,要么采取另外的工作或处于闲置状态,如果没有什么做的。
通常底层的实现是在程序员把工作线程安全的队列和一堆被实施托管线程保持轮询(我没有暗示忙纺必然)工作队列中。
在Java线程池由ExecutorService
类表示,其可以是:
- 固定 - 创建线程池具有固定数目的线程
- 缓存 - 动态地创建和销毁线程根据需要
- 单 - 一个通过单个线程
注池,由于线程池中的线程在以上(即再循环)描述的,在第方式操作不建议有那些阻塞I/O操作,因为采取这些工作线程将从池中被有效地去除,直到他们完成作业的工作,因此你可能有死锁固定的线程池电子情况。
至于线程的阵列,这是因为在创建任何对象数组一样简单:
Thread[] threads = new Thread[10]; // array of 10 threads
相关问题
- 1. 在一个线程池管理线程
- 2. 线程是否由线程池管理?
- 3. 如何使用线程/线程池管理多个操作?
- 4. 管理多线程存储池
- 5. Android关闭蓝牙插座/线程
- 6. 蓝牙线程或Asynctask?
- 7. 蓝牙更新UI线程
- 8. 多线程 - 新线程vs线程池
- 9. Android中的多个蓝牙Socket读取(单线程)
- 10. Android蓝牙:从UI线程开始的线程阻塞UI线程
- 11. 背景蓝牙应用程序 - 线程?
- 12. 管理线程池的pythonic方式
- 13. 在C#中的线程池类管理线程执行
- 14. C#下载管理器(线程,线程池,BeginInvoke,BackgroundWorker)
- 15. 为什么线程池以这种方式管理线程?
- 16. 如何创建多个线程池(即多个执行程序,每个线程池都有一个线程)
- 17. 管理蓝牙连接Android
- 18. 线程池vs许多单线程
- 19. 有很多线程的线程池queueuserworkitem
- 20. 使用线程池的多线程
- 21. 使用多线程的线程池
- 22. Android的线程管理
- 23. android线程管理onPause
- 24. 查看多线程管理?
- 25. 线程管理
- 26. 管理一个守护进程线程池
- 27. 多处理和线程和线程池怎么工作
- 28. 多处理池工作线程中的线程标识符
- 29. 如何使用类 - 蓝牙线程
- 30. 蓝牙LE扫描仪线程
你可以把'Thread's在一个数组或一个'List'。他们只是对象。 – Gray 2012-03-14 17:57:34