iPhone學習之多執行緒筆記

2021-06-20 01:41:04 字數 2046 閱讀 5490

程序:正在執行的程式

執行緒:是對程序的細化,乙個程序包含一到多個執行緒

多執行緒大大提高了工作效率

多執行緒:concurrent (併發)  單執行緒:serid (序列)

執行緒同步:任務之間有依賴關係,乙個任務執行完後,另乙個任務才能執行.

執行緒互斥:可以用nslock(程序鎖)解決

ui介面重新整理需要在主線程裡面執行

建立執行緒:

1.  -  [nsobject performselectorinbackground:@selector(a) withobject:nil];

2. + [nsthread detachnewthreadselector:@selector(a:) totarget:self withobject:@"hello"];

3. nsthread *thread=[[nsthread alloc]initwithtarget:self selector:@selector(a:) object:@"hello"];

[thread start];

//三種方式得到佇列

是乙個serial queue. 在主線程中執行queue裡的任務,mainqueue是個單例.

dispatch_queue_t mainqueue=dispatch_get_main_queue();

是乙個concurrent queue. 在子執行緒中執行queue裡的任務,根據優先順序不同,有4個單例.

dispatch_queue_t globalqueuehigh=dispatch_get_global_queue(dispatch_queue_priority_high, 0);

dispatch_queue_t globalqueuedefault=dispatch_get_global_queue(dispatch_queue_priority_default, 0);

dispatch_queue_t globalqueuelow=dispatch_get_global_queue(dispatch_queue_priority_low, 0);

dispatch_queue_t globalqueuebackground=dispatch_get_global_queue(dispatch_queue_priority_background, 0);

//3.自定義序列,並行的queue

dispatch_queue_t customserialqueue=dispatch_queue_create("com.class.myserialqueue",dispatch_queue_serial);

dispatch_queue_t customconcurrentqueue=dispatch_queue_create("com.class.myserialqueue",dispatch_queue_concurrent);

//設定任務在哪個佇列執行

dispatch_async(mainqueue, ^);

dispatch_group_t group=dispatch_group_create();

//dispatch_after 延遲放入queue

nsarray *arr=[nsarray arraywithobjects:@"q",@"d",@"a", nil];

nslog(@"%@",[arr objectatindex:index]);

});//dispatch_group_async 組內執行任務

dispatch_group_async(group, globalqueuedefault, ^);

dispatch_group_async(group, globalqueuedefault, ^);

//最後執行

dispatch_group_notify(group, mainqueue, ^);

//在應用程式中,只執行一次,可用於定義單例.

static dispatch_once_t oncetoken;

dispatch_once(&oncetoken, ^);

iPhone開發之多執行緒使用

建立執行緒有三種方法 一 通過 nsthread detachnewthreadselector selector addaction totarget self withobject nil 建立,無具體的返回物件,執行緒不受使用者控制,控制權掌握在系統的手中 二 通過 nsthread allo...

學習日記之多執行緒

要學習執行緒,首先要理解三個概念。什麼是程式,什麼是程序,什麼是執行緒。程式,是指令的集合。程序是正在執行的程式,是靜態概念。執行緒,是程序中乙個 單一的連續控制流程 也稱為輕量級程序。執行緒有一下幾個點 1.乙個程序可以擁有多個執行緒 2.乙個程序中的執行緒個共享相同的記憶體單元,即擁有相同的變兩...

python之多執行緒(學習)

執行緒分為 核心執行緒 由作業系統核心建立和撤銷 使用者執行緒 不需要核心支援而在使用者程式中實現的執行緒python3 執行緒中常用的兩個模組 thread和threading 推薦使用 python中使用執行緒有兩種方式 函式或者用類來包裝執行緒物件函式式 呼叫模組 import thread ...