簡體   English   中英

Quartz.net +任務並行庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM