多核多线程,如何优化?
同时运行了这样的几个线程:
thread1: 下面几个子线程,每个子线程分别控制和调度,几十个IO的子线程
thread2: 数据计算IO,响应thread1得到的数据。
thread3: 也是数据处理,根据thread2的结果,做出响应,大多时间在于等待thread2的结果,空转中,但这个线程的即 时性要求却最高
thread4: 删除不需要的数据
thread5: 根据thread1得到数据更新UI
thread6: 用于监控软件。
不知道,感觉不少线程都是在等待,会不会影响效率?不知道这个影响有多大,应该和合并在一起!我的电脑是双核的。希望大家发表一下对多线程优化的看法
------解决方案--------------------一个CPU在一个时刻只能运行一个线程,你的机子一个时刻最多能同时运行2个线程
------解决方案--------------------线程挂起就不会影响效率了,这个你也不需要考虑CPU的调度,到底哪个CPU执行哪些线程的问题了。
根据我的建议,你创建的线程还是有先后顺序的。
建议thread1做成Timer线程,后面的依次启动。
这个用treadpool最合适
------解决方案--------------------线程一般为cpu数量的2倍,线程多并不是好事