麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Delphi > 正文

擴展Delphi的線程同步對象(1)

2019-11-18 18:54:28
字體:
來源:轉載
供稿:網友
在編寫多線程應用程序時,最重要的是控制好線程間的同步資源訪問,以保證線程的安全運行。Win 32 API提供了一組同步對象,如:信號燈(Semaphore)、互斥(Mutex)、臨界區(CriticalSection)和事件(Event)等,用來解決這個問題。

  Delphi分別將事件對象和臨界區對象封裝為Tevent對象和TcritialSection對象,使得這兩個對象的使用簡單且方便。但是如果在Delphi程序中要使用信號燈或互斥等對象就必須借助于復雜的Win32 API函數,這對那些不熟悉Win32 API函數的編程人員來說很不方便。因此,筆者用Delphi構造了兩個類,對信號燈和互斥對象進行了封裝(分別為TSemaphore和TMutex),希望對廣大Delphi編程人員有所幫助。

  一、類的構造
  我們先對Win32 API的信號燈對象和互斥對象進行抽象,構造一個父類THandleObjectEx,然后由這個父類派生出兩個子類Tsemphore和Tmutex。

  類的源代碼如下:

  unit SyncobjsEx;

  interface

  uses Windows,Messages,SysUtils,Classes,Syncobjs;

  type

   THandleObjectEx = class(THandleObject)

  // THandleObjectEx為互斥類和信號燈類的父類

   PRotected

   FHandle: THandle;

   FLastError: Integer;

   public

   destructor Destroy; override;

   procedure Release;override;

   function WaitFor(Timeout: DWord): TWaitResult;

   property LastError:Integer read FLastError;

   property Handle: THandle read FHandle;

   end;

   TMutex = class(THandleObjectEx)//互斥類

   public

   constructor Create(MutexAttributes: PSecurityAttributes; InitialOwner: Boolean;const Name:string);

   procedure Release; override;

   end;

   TSemaphore = class(THandleObjectEx)

  //信號燈類

  public

  constructor Create(SemaphoreAttributes: PSecurityAttributes;InitialCount:Integer;MaximumCount: integer; const Name: string);

  procedure Release(ReleaseCount: Integer=1;PreviousCount:Pointer=nil);overload;

上一篇:在Delphi中讀取另一臺計算機的屏幕

下一篇:用Delphi編寫安裝程序(1)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 国产精品美女一区二区 | 亚洲视频欧美 | 中文字幕免费看 | 性视频久久 | 日韩黄a| 男人的天堂色偷偷 | 日韩视频区 | 精品一区二区三区免费毛片爱 | 国产麻豆久久 | 青青草好吊色 | 亚洲精品日韩色噜噜久久五月 | 香蕉视频18 | 免费国产网站 | 亚洲最大av网站 | 日本a∨精品中文字幕在线 欧美1—12sexvideos | 日本一区二区三区视频在线 | 中国的免费的视频 | 中文字幕偷拍 | 国产精品午夜一区 | 成人wxx视频免费 | 成人国产精品久久 | www.99热精品 | 在线观看91精品 | 欧美精品久久久久久久久久 | 久久精品国产99久久6动漫亮点 | 久久久大片 | 亚洲第一综合色 | 免费毛片在线视频 | 精品一区二区电影 | 国产午夜亚洲精品理论片大丰影院 | 电影一级毛片 | 在线观看网址av | 久久久精品网 | 欧美精品久久久久久久久老牛影院 | 国产69精品久久久久久久久久 | 在线观看一二三 | 亚洲国产高清视频 | 亚洲人成在线播放网站 | 全黄性色大片 | 国内精品一级毛片免费看 | 日本在线观看视频网站 |