1、創(chuàng)建線程對(duì)象挣棕,并啟動(dòng)。
屏幕快照 2016-09-12 21.48.27.png
運(yùn)行結(jié)果:
屏幕快照 2016-09-12 21.43.34.png
從結(jié)果可以看出來(lái)亲桥,新建的線程按照當(dāng) i=20 時(shí)創(chuàng)建洛心,啟動(dòng)線程使用start方法,線程啟動(dòng)之后并不是立即進(jìn)入就緒狀態(tài)题篷,線程被啟動(dòng)后處于就緒狀態(tài)皂甘,當(dāng)系統(tǒng)調(diào)用后,線程才會(huì)進(jìn)入運(yùn)行狀態(tài)悼凑,所以使得主線程(UI線程)已經(jīng)走到了i=21偿枕,才開(kāi)始執(zhí)行此線程。 也可以看出來(lái)CPU在處理兩個(gè)線程的時(shí)候户辫,并不是按照一定時(shí)間交替渐夸,有長(zhǎng)有短。
2渔欢、終止子線程的方法
測(cè)試線程是否運(yùn)行有兩個(gè)方法:isExecuting(是否執(zhí)行)墓塌、isFinished(是否執(zhí)行結(jié)束)。
當(dāng)然希望終止子線程的話奥额,NSThread沒(méi)有終止子線程的方法苫幢,而是有cancel的方法,可以向子線程發(fā)送一個(gè)信號(hào)(比如調(diào)用子線程的cancel方法)垫挨,然后在子線程執(zhí)行體中判斷韩肝,然后用exit終止。如下圖所示:
線程在執(zhí)行中九榔,點(diǎn)擊按鈕哀峻,發(fā)送cancel信號(hào),終止(或暫停)線程哲泊。
屏幕快照 2016-09-26 16.16.24.png
屏幕快照 2016-09-27 16.56.32.png
當(dāng)線程進(jìn)行到11時(shí)剩蟀,按下按鈕,線程結(jié)束切威。