ios關於執行緒排程的三種方式之NSThread

2021-07-07 05:58:24 字數 971 閱讀 8927

一,一些基本概念的理解

任務:就是系統要處理的事情,簡單的理解可以是程式要執行的函式或者方法體

佇列:任務的容器,多個任務按照排隊的方式放置在佇列中。佇列是任務的容器,執行緒是任務執行的資源。

併發:在乙個時間片內,多個任務是同時執行的。

序列:任務是挨個執行。

同步:針對佇列來說的,佇列內的任務是在主線程內執行的,沒有開闢新的執行緒。

非同步:針對佇列來說的,佇列內的任務是新開闢了執行緒,然後任務在新的執行緒執行。 

注意點:

新手容易出現將執行緒和任務混淆,這個時候就要將上述概念深刻理解。首先,理解非同步和同步,同步和非同步的區別是否開闢新的執行緒,一般解決耗時操作(任務)。併發和序列,決定多個任務之間是否同時執行,解決的是任務間的邏輯關係。

二,nsthread

建立執行緒的方法:

方法一:使用alloc方法建立,建立完成後必須使用[thread 

start

];啟動執行緒,不然執行緒不會執行。

nsthread

*thread = [[

nsthread

alloc

]initwithtarget

:self

selector

:@selector

(dowcing) 

object

:nil];

//引數說明:object是要傳入的方法引數

方法二:類方法建立

[nsthread detachnewthreadselector:@selector(doworking) totarget:self withobject:nil];

缺點:1,nsthread 

很難人為的去控制子執行緒的數量 2

,子執行緒如果建立過多,會嚴重的影響程式的效能,因為每乙個執行緒都會暫用一定的

cpu資源,會導致

cpu很忙碌,                    特別是多人開發的時候

執行緒 三種方式 建立執行緒

第一種 1 模擬龜兔賽跑 繼承thread 重寫run 執行緒體 2 使用執行緒 建立子類物件 物件.strat 執行緒啟動 author administrator public class rabbits extends thread class tortoise extends thread ...

三種執行緒同步方式

三種執行緒同步方式,即互斥物件 事件物件和關鍵 段。1 屬於核心物件,它能夠確保執行緒擁有對單個資源的互斥訪問權。互斥物件包含乙個使用數量,乙個執行緒id和乙個計數器。id用於標識系統中的哪個執行緒當前擁有互斥物件,計數器用於指明該執行緒擁有互斥物件的次數。2 函式 createmutex 函式原型...

執行緒的三種建立方式

public class web12306 多執行緒的三種方式 class threadtest01 extends thread class threadtest02 implements runnable class threadtest03 implements callable return...