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

正文內(nèi)容

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

2025-08-21 01:42本頁面
  

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