[英]Quartz.net + Task Parallel Library
我正在努力升級我們在內部使用Quartz.net的作業調度系統。 看看Quartz的最新版本的源代碼,我注意到它仍然使用自己的線程池實現,而不是從.NET 4.0開始隨附的大大改進的線程池(或任何來自System.Threading.Tasks的東西)。
我很想知道是否有人成功實現了一個作業調度系統,該系統使用Quartz.net進行調度功能,TPL用於線程池。 是否相對容易將Quartz的線程池替換為TPL的線程池? Quartz甚至在任務世界中仍然相關嗎? 另外,正如我對.NET 4.x線程池(核心感知,本地隊列,改進的鎖定等)的巨大改進一樣出售,Quartz的線程池足以滿足典型的粗粒度后台作業而且不值得迫使TPL融入其中的努力?
提前感謝您對使用(或不使用)這兩個工具的任何見解。
Quartz.NET可以解決與TPL不同的問題。 Quartz.NET旨在通過豐富的執行時序功能重復進行作業調度。 另一方面,TPL用於計算工作負載的高性能並行執行。
因此,從本質上講,您(通常)使用Quartz.NET進行精確調度,使用TPL進行conccurent工作負載,這些工作負載需要盡可能快地利用所有計算資源(核心等)完成。
話雖如此,我會說Quartz.NET使用的線程池實現對於這項工作來說已經足夠了。 另請注意,Quartz.NET符合.NET 3.5,不能僅使用4.0功能。
當然,您也可以在解決方案中將兩者結合使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.