工作窃取算法就不存在竞争情况了?

一般使用双端队列来配合工作窃取算法的使用,被窃取的线程永远只从双端队列头部获取任务执行,而窃取任务的线程则永远从双端队列的尾部获取任务执行。通过这样的方法,可以让线程被充分的利用,不会空闲下来,同时一个线程从队列头拿任务,一个线程从队列尾窃取任务,线程间的竞争也大大减少了,不过如果双端队列中只剩下一个任务了,就会出现竞争的情况。所以工作窃取算法还是存在竞争情况的,它只是通过双端队列减少了线程间的竞争。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章