多线程《一》线程理论
一 什么是線程
在傳統(tǒng)操作系統(tǒng)中,每個(gè)進(jìn)程有一個(gè)地址空間,而且默認(rèn)就有一個(gè)控制線程
線程顧名思義,就是一條流水線工作的過(guò)程(流水線的工作需要電源,電源就相當(dāng)于cpu),而一條流水線必須屬于一個(gè)車(chē)間,一個(gè)車(chē)間的工作過(guò)程是一個(gè)進(jìn)程,車(chē)間負(fù)責(zé)把資源整合到一起,是一個(gè)資源單位,而一個(gè)車(chē)間內(nèi)至少有一條流水線。
所以,進(jìn)程只是用來(lái)把資源集中到一起(進(jìn)程只是一個(gè)資源單位,或者說(shuō)資源集合),而線程才是cpu上的執(zhí)行單位。
多線程(即多個(gè)控制線程)的概念是,在一個(gè)進(jìn)程中存在多個(gè)線程,多個(gè)線程共享該進(jìn)程的地址空間,相當(dāng)于一個(gè)車(chē)間內(nèi)有多條流水線,都共用一個(gè)車(chē)間的資源。例如,北京地鐵與上海地鐵是不同的進(jìn)程,而北京地鐵里的13號(hào)線是一個(gè)線程,北京地鐵所有的線路共享北京地鐵所有的資源,比如所有的乘客可以被所有線路拉。
二 線程與進(jìn)程的區(qū)別
總結(jié)上述區(qū)別,無(wú)非兩個(gè)關(guān)鍵點(diǎn),這也是我們?cè)谔囟ǖ膱?chǎng)景下需要使用多線程的原因:
三 多線程應(yīng)用舉例
開(kāi)啟一個(gè)字處理軟件進(jìn)程,該進(jìn)程肯定需要辦不止一件事情,比如監(jiān)聽(tīng)鍵盤(pán)輸入,處理文字,定時(shí)自動(dòng)將文字保存到硬盤(pán),這三個(gè)任務(wù)操作的都是同一塊數(shù)據(jù),因而不能用多進(jìn)程。只能在一個(gè)進(jìn)程里并發(fā)地開(kāi)啟三個(gè)線程,如果是單線程,那就只能是,鍵盤(pán)輸入時(shí),不能處理文字和自動(dòng)保存,自動(dòng)保存時(shí)又不能輸入和處理文字。
轉(zhuǎn)載于:https://www.cnblogs.com/sunny666/p/9977259.html
總結(jié)
以上是生活随笔為你收集整理的多线程《一》线程理论的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Oracle 创建,查询,删除 job
- 下一篇: 写代码:输入一年份,判断该年份是否是闰年