Delphi Event Bus 2.1發布了


Delphi Event Bus 這個開源項目發布了,這是我用到的最好的開源項目,強烈推薦給大家。

前期也有寫過這方面的文章,如果你還不知道,可以學習一下,這里不多說了,這個版本改動不大,但意義重大,使用了自己內部的線程池來管理自己的線程,支持Delphi 11.1,強烈建議升級。

我查看了代碼,就是就是在TEventBus類中聲明了一個FDebThreadPool:

  TEventBus = class(TInterfacedObject, IEventBus)
  strict private
    FDebThreadPool: TThreadPool;

然后呢,在調用訂閱任務時:

      {$IF CompilerVersion >= 28.0}
      TTask.Run(LProc, FDebThreadPool);

這里,使用自己的線程池對象來執行線程任務了,注意,這里使用了系統的編譯變量CompileVersion>=28,也就是最新的Delphi 11,才使用自己的線程池。關於編譯變量CompileVersion對應的Delphi版本,可以參考這篇文章:Delphi編譯器版本對照表及工具鏈

作者為什么要只在Delphi 11才使用自己的線程池呢?按我的理解,就是說明Delphi 11的TThreadPool對象才成熟吧,即然這樣寫,那對於使用Delphi 11以前版本的用戶,沒有必要升級了。

下面是我寫的如何使用Event Bus的文章,可以復習下:

Delphi Event Bus入門
Delphi Event Bus進階(一)控制訂閱方法的線程模式
Delphi Event Bus進階(二)GlobalEventBus是怎么來的?
Delphi Event Bus進階(三)如何使用通道?

這是開源地址:

https://www.github.com/spinettaro/delphi-event-bus

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM