freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

delphi多線程編程文庫-資料下載頁

2025-01-07 11:40本頁面
  

【正文】 理的資源,其方法的應(yīng)用是: 第一步:把訪問主窗口(或主窗口控件資源)的代碼放到線程的 一個(gè)方法中; 第二步:是在線程對(duì)象的 Execute方法中,通過 Synchronize方法 使用該方法。 實(shí)例: procedure 。 begin Synchronize(update)。 end。 procedure 。 begin ......... end。 這里通過 Synchronize使線程方法 update同步。 二、使用 VCL類的 Look方法 在 Delphi的 IDE提供的構(gòu)件中,有一些對(duì)象內(nèi)部提供了線程的同 步機(jī)制,工作線程可以直接使用這些控件,比如: Tfont, Tpen, TBitmap, TMetafile, Ticon等。另外,一個(gè)很重要的控件對(duì)象叫 TCanvas,提供了一個(gè) Lock方法用于線程的同步,當(dāng)一 個(gè)線程使用此 控件對(duì)象的時(shí)候,首先調(diào)用這個(gè)對(duì)象的 Lock方法,然后對(duì)這個(gè)控件 進(jìn)行操作,完畢后再調(diào)用 Unlock方法,釋放對(duì)控間的控制權(quán)。 例如: 。 try 畫圖 finally 。 end。 {使用這個(gè)保護(hù)機(jī)制 ,保證不論有沒有異常, unlock都會(huì)被執(zhí)行 否則很可能會(huì)發(fā)生死鎖。在多線程設(shè)計(jì)的時(shí)候,應(yīng)該很注意發(fā)生死 鎖的問題 } 三、 Waitfor方法 當(dāng)一個(gè)線程應(yīng)該等待另一個(gè)線程結(jié)束時(shí),可以調(diào)用 Waitfor方法。 這個(gè)方 法屬于等待線程對(duì)象, Waitfor方法的原型如下 : Function Waitfor(Const Astring:string):string。 比如在前面最基本的線程的例子中,喚醒線程的語句中加上 。 。 。 那么所有的線程都必須等待 thread1運(yùn)行完畢后才能運(yùn)行,其中 包括主線程,可以預(yù)想,由于 thread1調(diào)用了主窗體的 Edit控件,那 么,在 thread1運(yùn)行中間, Edie1也不會(huì)顯示。 這就告訴我們,這 樣的代碼是不能作為主線程的一部分的,如果 與主窗體連接的線程內(nèi)等待另一個(gè)線程結(jié)束,而另一個(gè)線程又要等待 訪問用戶界面,就可能是程序陷于死鎖。 這點(diǎn)在應(yīng)用的時(shí)候要謹(jǐn)慎。 四、利用 Windows的 API 實(shí)現(xiàn)同步 Windows API函數(shù)提供了很多同步技術(shù),下面簡要介紹。 1)臨界區(qū) 使用線程的時(shí)候,遇到的一個(gè)基本的問題,就是多個(gè)線程訪問同 一個(gè)對(duì)象,比如訪問相同的文件、 DLL、相同的通訊資源,特別是數(shù) 據(jù)庫的訪問,當(dāng)多個(gè)線程對(duì)同一數(shù)據(jù)庫字段寫入的時(shí)候,其結(jié)果會(huì)出 現(xiàn)不確定性。 臨界區(qū)用于解決這個(gè)問 題,它可以保證線程使用敏感數(shù)據(jù)的時(shí)候, 阻賽其他的線程訪問名干數(shù)據(jù),使用時(shí)首先要初始化,其聲明一個(gè) TRTLCriticalSection 類型的變量: var CS:TRTLCriticalSection。 初始化: initializeCriticalSection(cs)。 獨(dú)占 EnterCriticalSection(cs)。 解除獨(dú)占 LeaveCriticalSection(CS)。 使用臨界區(qū)是比較方便而且概念比較清晰的的線程同步機(jī)制,應(yīng)用比 較廣泛。 請(qǐng)注意,臨界區(qū)只能在一 個(gè)進(jìn)程內(nèi)使用,首先要標(biāo)記出把數(shù)據(jù)作為臨 界區(qū)操作的那些代碼,在這部分代碼執(zhí)行前,計(jì)算機(jī)首先要查看一下全局 記錄,已確定是否有其它線程在臨界區(qū)中,同時(shí)也要查看這個(gè)臨界區(qū)是否 和第一個(gè)臨界區(qū)相關(guān),也就是說同一個(gè)程序中可能會(huì)有幾個(gè)不同的臨界區(qū), 然后計(jì)算機(jī)再?zèng)Q定運(yùn)行策略。 下面簡單的實(shí)例說明臨界區(qū)的用法: 《以下略》 2)互斥對(duì)象 3)信號(hào)量
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1