![老師錄像-第09課深入多線程_第1頁](http://file4.renrendoc.com/view/d15d4b4ea3d851aef143636ffa2705ae/d15d4b4ea3d851aef143636ffa2705ae1.gif)
![老師錄像-第09課深入多線程_第2頁](http://file4.renrendoc.com/view/d15d4b4ea3d851aef143636ffa2705ae/d15d4b4ea3d851aef143636ffa2705ae2.gif)
![老師錄像-第09課深入多線程_第3頁](http://file4.renrendoc.com/view/d15d4b4ea3d851aef143636ffa2705ae/d15d4b4ea3d851aef143636ffa2705ae3.gif)
![老師錄像-第09課深入多線程_第4頁](http://file4.renrendoc.com/view/d15d4b4ea3d851aef143636ffa2705ae/d15d4b4ea3d851aef143636ffa2705ae4.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
易語言綜合技術(shù)特訓第一階段:易語言編程第九課:深入多線程本課內(nèi)容010203多線程的同步操作一個多線程實例如何啟動多線程?1.回顧線程2.線程是如何工作的?線程執(zhí)行起來是沒有任何順序的。線程是在CPU中進行執(zhí)行的。1.什么是線程?線程是CPU的執(zhí)行單位,所有代碼都是在線程中被執(zhí)行的。一個進程一定會有一個線程。3.什么是主線程?主線程由系統(tǒng)在進程啟動時自動創(chuàng)建。在窗口程序中,主線程就是窗口的UI線程。4.線程操作:創(chuàng)建線程、線程句柄、線程ID、暫停線程、回復線程、強制結(jié)束線程、關(guān)閉線程句柄、獲取線程返回值。以及線程參數(shù)的傳遞。2.創(chuàng)建多線程1.什么時候需要創(chuàng)建線程?a.有操作會長時間占用線程的時候。例如:讀入一個大文件。b.有同時需要進行的工作時。2.如何創(chuàng)建多個線程?由于每一個線程都是獨立的,重復多次調(diào)用“啟動線程”或“線程_啟動”即可。3.多個線程可不可以執(zhí)行同一個(線程)子程序?變量會不會沖突?可以的。線程之間是相互獨立的。所以局部變量不會互相沖突。但是,涉及到程序集、全局、靜態(tài)變量則要小心使用。3.多線程同步1.回顧多線程的執(zhí)行方式。。。2.為什么要對多線程進行同步?線程執(zhí)行是搶占式的,而且由于運行時的不保證,所以,一句代碼可能還沒有執(zhí)行完,CPU就切換到另一個線程的代碼了。3.多線程同步的幾種方式:a.原子鎖。b.許可區(qū)。線程執(zhí)行起來是沒有任何順序的。線程是在CPU中進行執(zhí)行的。一個CPU核心只能同時執(zhí)行一個線程,所以CPU會隨時執(zhí)行一個線程。由于CPU的快速切換,所以使程序看起來是在連續(xù)執(zhí)行。由于現(xiàn)在的CPU都是多核多線程,所以就可以同時執(zhí)行多個線程。線程1:線程2:線程3:一個CPU核心線程代碼在執(zhí)行的時候,很有可能剛剛執(zhí)行一半,CPU就發(fā)生了切換,這個時候,就會執(zhí)行其他的代碼,這樣我們就不能完全保證程序按照我們的預期來進行執(zhí)行了。代碼執(zhí)行:線程a:
線程b:變量=10變量=變量+1
變量=變量+1變量=變量
變量=變量+1(變量=變量)+1原子鎖什么是原子鎖?——以原子(單線程)的方式來操作一個變量。DLL命令如下:(整數(shù)型)InterlockedIncrement(整數(shù)型,傳址)——原子遞增(整數(shù)型)InterlockedDecrement(整數(shù)型,傳址)——原子遞減(整數(shù)型)InterlockedExchangeAdd(整數(shù)型,傳址,整數(shù)型)——原子增加數(shù)值(整數(shù)型)InterlockedExchange(整數(shù)型,傳址,整數(shù)型)(原子賦值)什么是許可區(qū)?——一次只有一個線程能進入到許可區(qū)內(nèi),其他線程要在外面等。直到這一個線程退出許可區(qū)。官方支持庫:多線程支持庫中的命令:創(chuàng)建進入許可證()進入許可區(qū)()退出許可區(qū)()刪除進入許可證()許可區(qū)中場休息對比一下“原子鎖”和“許可區(qū)”各自的優(yōu)缺點??纯磧烧咴谑褂玫膱龊嫌惺裁床煌??生成多個隨機數(shù),然后進行計算算數(shù)程序1.使用庫命令來生成隨機數(shù)3.啟動多個線程來分別計算每一項的值4.將所有值顯示在列表框?qū)恢?.統(tǒng)計所有的結(jié)果,求出結(jié)果的平均數(shù)2.將生成的隨機數(shù)保存到超級列表框中要避免的問題1.同步的時候,尤其是使用許可區(qū)的方式,要注意許可區(qū)的退出。如果沒有退出許可區(qū)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)機器質(zhì)押借款合同
- 2025年勞動解除合同標準條款
- 2025年抗瘧藥項目申請報告模范
- 2025年貨車租賃與運輸服務合同樣本
- 2025年國際貨物買賣合同與慣例
- 2025年專業(yè)清潔人員派遣協(xié)議
- 2025年二手車購買合同范本
- 2025年三板市場股權(quán)買賣協(xié)議
- 2025年伙伴開設教育機構(gòu)合作協(xié)議書模板
- 2025年繼電器研發(fā)策劃技術(shù)協(xié)議書范本
- 2024年湖南有色金屬職業(yè)技術(shù)學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 生物-遼寧省大連市2024-2025學年高三上學期期末雙基測試卷及答案
- Unit 4 A glimpse of the future 說課稿-2023-2024學年高二下學期英語外研版(2019)選擇性必修第三冊001
- 加氣站安全課件
- 《民營企業(yè)清廉建設評價規(guī)范》
- 智能RPA財務機器人開發(fā)教程-基于來也UiBot 課件 第2章-常用機器人流程自動化
- 品管圈PDCA改善案例-降低住院患者跌倒發(fā)生率
- 公務車輛定點加油服務投標文件(技術(shù)方案)
- 安徽工程大學《回歸分析》2023-2024學年第一學期期末試卷
- 讀書分享《給教師的建議》課件
- 《中小學校園食品安全和膳食經(jīng)費管理工作指引》專題講座
評論
0/150
提交評論