最近在看《java并发编程实践》
看到讲Deque,可以实现窃取工作(work stealing),能够保证每个线程都保持忙碌状态。
可是没有示例,不知道怎么用的,网上也没搜到。
所以求个示例,O(∩_∩)O谢谢
------解决方案--------------------
双端队列。所谓的窃取指的是,默认情况下线程从队列中获取任务进行计算处理,当某些线程在自己的任务队列中没有任务的时候,也不闲着,从其他线程的工作队列中去“偷”计算任务,为了不影响其他线程的任务,就从其他线程任务队列的另一端去获取任务。
双端队列一般应用于非常高效的多线程应用当中,开发过程中需要有很多的技巧,普通的多线程应用中使用意义也不是太大。