我正在尝试优化我们正在开发的应用程序的代码.当前实现invovles创建一个线程来连续轮询服务器以获取新数据.如果找到新数据,则线程产生多个线程(每次创建)以检索数据.
如果你创建了一个长时间运行的线程来进行轮询,你就不会发现太大的区别.不可否认,你现在可能已经睡了,所以你在很多时候都需要一个比你需要的更多的线程(与基于计时器的解决方案相比),但它基本没问题.
当您有大量短期操作时,线程池特别好.启动一个线程并不是免费的,如果实际的工作很简单,那么开销就会很大.线程池只是让实际的线程挂起,等待工作项.然后,他们可以用很少的开销执行这些工作项.
使用单个长时间运行的任务,与在任务本身中花费的时间相比,开销是微不足道的,因此您不会注意到任何差异.
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |