国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

C#多線程筆記(一)

2024-07-21 02:19:11
字體:
供稿:網(wǎng)友
1.每個窗體都有自己的都在不同的線程上運行,如果需要在窗體之間交互,就需要在線程之間交互。

2.當(dāng)線程sleep時,系統(tǒng)就退出執(zhí)行隊列一段時間,當(dāng)睡眠結(jié)束時,系統(tǒng)會產(chǎn)生一個時鐘中斷,從而
使線程回到執(zhí)行隊列中,從而恢復(fù)線程的執(zhí)行。

3.如果父線程先于子線程結(jié)束,那么子線程將在父線程結(jié)束的同時被迫結(jié)束。thread.join()方法使父線程等待,直到子線程結(jié)束。
? abort()方法帶來的后果是不可恢復(fù)的終止線程。

4.起始線程可以稱之為主線程,如果所有的前臺線程都停止了,那么主線程可以終止,而所有的后臺線程都將無條件終止。
? 后臺線程跟前臺線程只有一個區(qū)別,那就是后臺線程不妨礙程序的終止。一旦一個進程所有的前臺線程都終止后,clr
? 將通過調(diào)用任意一個存活中的后臺進程的abort()方法來徹底終止進程。
?
?6.掛起,睡眠(都可稱為--阻塞,暫停)
?? 與thread.sleep 不同,thread.suspend 不會使線程立即停止執(zhí)行。直到線程到達(dá)安全點之后它才可以將該線程掛起。如果線程尚
?? 未啟動或已經(jīng)停止,則它將不能掛起。調(diào)用 thread.resume 將使另一個線程跳出掛起狀態(tài)并使該線程繼續(xù)執(zhí)行。
?? 一個線程不能對另一個線程調(diào)用sleep ,但是一個線程可以對另一個線程調(diào)用suspend。
?? 還可以使用許多其它的方式來阻塞線程。例如,可以通過調(diào)用 thread.join 使一個線程等待另一個線程(子線程)停止。使用
?? monitor.wait使一個線程等待訪問一個同步對象。
?
5.關(guān)鍵字lock可以把一段代碼定義為互斥段(critical section),互斥段在一個時刻內(nèi)只允許一個線程進入執(zhí)行,而其他線程必須等待。
? 多線程公用一個對象時,就不應(yīng)該使用lock關(guān)鍵字了,這里monitor,monitor提供了使線程共享資源的方案。
? monitor類可以鎖定一個對象,一個線程只有得到這把鎖才可以對該對象進行操作。
? 如:
? monitor.enter(obj);
???????? //現(xiàn)在oqueue對象只能被當(dāng)前線程操縱了
? monitor.exit(obj);
?
6.一個進程開始時至少會有一個主線程 ( 即主執(zhí)行實例 ) ,這是在系統(tǒng)加載你的程序的時候所創(chuàng)建的主執(zhí)行流程。
? 而消息隊列則是與線程 ( thread ) 相關(guān)的,在似win2k上一個線程有一個且只有一個消息隊列 ( queue ) 與之相對應(yīng)。
? 消息隊列是在什么時候生成的呢? 在似win2k系統(tǒng)上,從一開始創(chuàng)建線程就已經(jīng)有了。
? 一個線程可以創(chuàng)建多個窗體。統(tǒng)發(fā)送給這些窗口的消息都統(tǒng)一發(fā)送到同一個 消息隊列 中,幸虧消息結(jié)構(gòu)中有msg.hwnd指出該條消息與
? 哪一個窗口相關(guān), dispatchmessage() 函數(shù)就是依照這個保證消息分派處理自動化而且不會出錯!
?
7.每個窗體都屬于創(chuàng)建它的線程,在一線程中直接訪或間接問其它線程中的窗體的方法將導(dǎo)致運行時錯誤(vs2005)。
? 解決方法:使用窗體從control繼承而來的control.invoke(delegate)方法。該方法將在創(chuàng)建窗體的線程上執(zhí)行委托指向的方法。
? 注意:在vs2003下,可以在一個線程中直接或間接調(diào)用另一個線程中的窗體的方法,而不會導(dǎo)致運行時錯誤。

國內(nèi)最大的酷站演示中心!
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新晃| 晋江市| 宿迁市| 泗水县| 沁源县| 浮梁县| 玉环县| 大竹县| 龙门县| 滁州市| 象州县| 青浦区| 闵行区| 精河县| 东兰县| 永平县| 乐山市| 郧西县| 云阳县| 黄山市| 司法| 比如县| 济南市| 普兰店市| 江城| 禹州市| 乌兰察布市| 工布江达县| 义马市| 托克逊县| 天等县| 那曲县| 商南县| 台东市| 肥东县| 太仆寺旗| 瓮安县| 湄潭县| 台安县| 濮阳县| 内江市|