日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BCB线程的互斥与同步

發布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BCB线程的互斥与同步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 線程的互斥與同步

??? 互斥控制是為了避免一個線程在使用某一個對象或全局變量與其他線程發生沖突。實現線程互斥的方法有: (1)?? 訪問代碼委托給VCL主線程執行。在線程中若要調用可視化的方法或訪問其屬性,可將執行代碼委托給VCL主線程執行,否則會發生并發訪問沖突。委托的方法是先將使用可視化組件的代碼單獨編成一個函數,函數原型是void 函數名(void),然后電泳TThread類的成員函數Synchronize(函數名)來調用它,VCL主線程順序執行所有組建對該組建的訪問(包括響應人機界面事件、windows系統事件等),從而不會發生沖突。 (2)?? 使用對象鎖。有些VCL類提供對象鎖,可以使用對象的LOCKUNLOCK方法進行加鎖與解鎖。當訪問這些對象時,可調用LOCK方法鎖住對象,然后訪問該對象,訪問完畢后調用對象的UNLOCK方法釋放該對象。 (3)?? 使用臨界區對象。若要訪問一個全局變量,則可設置一個臨界區對象(TCritical Section)來實現互斥,該對象有AcquireRelease兩個方法。Acquire方法阻塞其他線程,執行臨界區代碼,而Release方法釋放等待進入臨界區的線程。例如:設Q為全局變量,Crit1為臨界區對象,在訪問Q進入臨界區時須執行Crit1.Acquire(),訪問后退出臨界區時須執行Crit1.Release()。 ?

轉載于:https://www.cnblogs.com/fx_guo/archive/2007/10/08/1935628.html

總結

以上是生活随笔為你收集整理的BCB线程的互斥与同步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。