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

正文內(nèi)容

delphi多線程編程文庫(kù)-資料下載頁(yè)

2024-08-30 01:42本頁(yè)面
  

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