cpszgy 2012-08-17 06:52
浏览 291
已采纳

线程问题

现在是这样一个问题:
有一个队列,然后队列里面会有任务。然后有一个模块会从这个队列里取走任务,执行。
现在有二种设计:
一种是开指定个数个线程轮询这个队列。取到任务后执行。执行完再轮询。
一种是开一个线程去轮询队列,取到任务后组装成一个Runbale对象交给执行线程池执行。当然执行线程池也限制了任务的最大数目。剩余的在线程池里面排队。
只对着二种设计做比较。哪种较好。理由。

  • 写回答

11条回答 默认 最新

  • Jeff-HT-Lee 2012-08-17 09:22
    关注

    第一种复杂,不推荐。队列会被多个线程竞争,这样就要同步线程,搞不好就会死锁。

    第二种是一般做法,相比第一种没有资源竞争的情况。而且JDK1.5中已经实现了,利用BlockingQueue和Executor框架很容易搞定。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(10条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 没输出运行不了什么问题
  • ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
  • ¥15 点云密度大则包围盒小
  • ¥15 nginx使用nfs进行服务器的数据共享
  • ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
  • ¥15 51嵌入式入门按键小项目
  • ¥30 海外项目,如何降低Google Map接口费用?
  • ¥15 fluentmeshing
  • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
  • ¥15 盘古气象大模型调用(python)
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部