版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第13章 進(jìn)程和線程,一般來說,進(jìn)程(Process)就是正在計(jì)算機(jī)中執(zhí)行的程序。而線程(Thread)是進(jìn)程中的某個(gè)單一順序的控制流。線程是進(jìn)程的細(xì)化,它是進(jìn)程中的實(shí)體。本章主要講解進(jìn)程操作的一些常用方法和線程的操作等。,13.1 進(jìn)程,進(jìn)程從狹義角度說是程序的執(zhí)行過程。使用NSProcessInfo方法可以獲取將前的進(jìn)程信息,例如,當(dāng)前機(jī)器的名稱,操作系統(tǒng)類型等。本節(jié)主要講解有關(guān)進(jìn)程的基本操作。,13.1.1 創(chuàng)建進(jìn)程,我們?cè)谑褂眠M(jìn)程之前必須要將進(jìn)程的頭文件引入。,13.1.1 創(chuàng)建進(jìn)程,13.1.2 進(jìn)程的使用,當(dāng)我們創(chuàng)建好進(jìn)程以后,就要對(duì)進(jìn)程執(zhí)行操作。接下來主要講解對(duì)進(jìn)行的操作等相關(guān)方
2、面的內(nèi)容。,1.放回進(jìn)程號(hào),當(dāng)我們要查看操作系統(tǒng)分配給一個(gè)進(jìn)程的進(jìn)程號(hào)時(shí),可以采用processIdentifier()方法。,2.返回進(jìn)程的名稱,processName()方法用來返回進(jìn)程的名稱。,3.返回主機(jī)的名稱,hostName()方法使用來返回主機(jī)的名稱。,4.操作系統(tǒng)版本信息,當(dāng)我們要對(duì)操作系通過的版本需要了解時(shí),可以使用operatingSystemVersionString()方法查看版本信息。,13.1.3 進(jìn)程方法總結(jié),我們對(duì)進(jìn)程的一些基本操作做了詳細(xì)的介紹。展現(xiàn)在我們將進(jìn)程的操作方法做一個(gè)簡(jiǎn)單的總結(jié)。,13.2 線程,線程是進(jìn)程的細(xì)化。每一個(gè)程序至少要有一個(gè)線程,這個(gè)線程
3、稱為主線程。你可以將線程想象成為指令按順序執(zhí)行的應(yīng)用的一行代碼的執(zhí)行。本節(jié)主要講解有關(guān)線程的創(chuàng)建、啟動(dòng)、訪問等相關(guān)的知識(shí)。,13.2.1 使用NSThread創(chuàng)建線程,在我們使用線程之前,要將線程的頭文件引入。,13.2.1 使用NSThread創(chuàng)建線程,13.2.1 使用NSThread創(chuàng)建線程,13.2.2 啟動(dòng)線程,使用detachNewThreadSelector:toTarget:withObject()方法和新建一個(gè)線程對(duì)象并初始化在創(chuàng)建好線程以后,它們并沒有真正的啟動(dòng)線程。為了啟動(dòng)一個(gè)線程可以使用start()方法。,1.單個(gè)線程的啟動(dòng),使用start的形式。,2. 同時(shí)運(yùn)行多個(gè)
4、線程,有的時(shí)候線程不是只有一個(gè)在運(yùn)程,而是有多個(gè)線程同時(shí)在運(yùn)行。,13.2.3 訪問主線程,當(dāng)我們要訪問主線程是可以通過performSelectorOnMainThread()方法來實(shí)現(xiàn)。,13.3 互斥鎖,互斥鎖也叫互斥體。它的作用是可以防止同時(shí)訪問同一內(nèi)存。之所以叫互斥鎖是因?yàn)樗鼤?huì)鎖住對(duì)內(nèi)存的訪問,并使得在某一時(shí)刻可以獨(dú)占訪問一個(gè)線程。Objective-C提供了一種簡(jiǎn)單的互斥鎖NSLock和使用synchronize關(guān)鍵字。,13.3.1 NSLock,要使用NSLock互斥鎖,就要先將鎖的頭文件進(jìn)入。,1.互斥鎖的創(chuàng)建,要使用互斥鎖,引入互斥鎖的頭文件是不夠的,還需要我們創(chuàng)建一個(gè)互斥
5、鎖。,2.互斥鎖的調(diào)用,當(dāng)我們創(chuàng)建好互斥鎖以后,要對(duì)它進(jìn)行使用,這時(shí)我們就要對(duì)互斥鎖進(jìn)行調(diào)用。,3.關(guān)閉互斥鎖,當(dāng)我們?cè)谒猛昊コ怄i以后,就要將它關(guān)閉。關(guān)閉互斥鎖的形式如圖13.21所示。,13.3.2 synchronize,我們?cè)谑褂肗SLock的時(shí)候,如果忘記將程序中的NSLock解鎖就很容易造成死鎖。為了避免這種麻煩,Objective-C提供了synchronize。它是一種內(nèi)置的語言指令。該指定提供了包括特定作用域和變量參數(shù)的內(nèi)置的底層互斥機(jī)制。也就是說它可以為一個(gè)變量指定上鎖。,13.3.2 synchronize,13.4 進(jìn)程和線程的區(qū)別,進(jìn)程是應(yīng)用程序的運(yùn)行實(shí)例,自己享有獨(dú)立的地址空間。對(duì)于多任務(wù)操作系統(tǒng),能夠“同時(shí)”運(yùn)行多個(gè)進(jìn)程。但這些是CPU的分時(shí)機(jī)制在起作用,能夠使每個(gè)進(jìn)程都能循環(huán)獲得自己的CPU時(shí)間片。進(jìn)程(process)本質(zhì)上是操作系統(tǒng)當(dāng)前運(yùn)行的執(zhí)行程序。,13.4 進(jìn)程和線程的區(qū)別,13.5 小結(jié),本章主要講解了進(jìn)程的創(chuàng)建
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 地面專項(xiàng)施工方案(3篇)
- 校園文化活動(dòng)組織與管理制度
- 漢初的選官制度
- 食品安全會(huì)長(zhǎng)制度
- 2026上海復(fù)旦大學(xué)附屬腫瘤醫(yī)院執(zhí)業(yè)醫(yī)師執(zhí)業(yè)助理醫(yī)師招聘10人備考題庫及參考答案詳解
- 新疆維吾爾自治區(qū)吐魯番市高昌區(qū)第二中學(xué)2026屆生物高一上期末達(dá)標(biāo)測(cè)試試題含解析
- 2026上半年安徽事業(yè)單位聯(lián)考銅陵市義安區(qū)招聘27人備考題庫及一套參考答案詳解
- 銷售管理部門制度
- 北京市西城區(qū)魯迅中學(xué)2026屆生物高三第一學(xué)期期末達(dá)標(biāo)檢測(cè)試題含解析
- 糧食運(yùn)輸企業(yè)財(cái)務(wù)制度
- 干部因私出國(境)管理有關(guān)要求
- 民爆物品倉庫安全操作規(guī)程
- 老年癡呆科普課件整理
- 2022年鈷資源產(chǎn)業(yè)鏈全景圖鑒
- von frey絲K值表完整版
- 勾股定理復(fù)習(xí)導(dǎo)學(xué)案
- GB/T 22900-2022科學(xué)技術(shù)研究項(xiàng)目評(píng)價(jià)通則
- GB/T 6418-2008銅基釬料
- GB/T 16621-1996母樹林營(yíng)建技術(shù)
- GB/T 14518-1993膠粘劑的pH值測(cè)定
- GB/T 14072-1993林木種質(zhì)資源保存原則與方法
評(píng)論
0/150
提交評(píng)論