/**
* 資源共享
1.一塊資源可能會被多個執行緒共享,也就是多個執行緒可能會訪問同一塊資源
2.比如多個執行緒訪問同乙個物件、同乙個變數、同乙個檔案
當多個執行緒引用同乙個資源,會引發問題
*/@implementation viewcontroller
- (void)viewdidload
-(void)touchesbegan:(nsset *)touches withevent:(uievent *)event
- (void)saleticket else }}
// 互斥鎖的優缺點
/*** 優點 有效地防止因為多執行緒搶奪資源造成的資料安全問題
缺點 需要耗費資源
*/// 使用前提
// 多條執行緒搶奪同一塊資源
// 執行緒同步 執行緒同步執行 的意思 多條執行緒在同一條線上執行 (按順序執行)
// 同步 不是 並行
// 為了防止多個執行緒搶奪同一資源造成的資料安全問題
// 原子和非原子性
/*** atomic // 為setter方法加鎖 為了保證執行緒安全,預設為atomic
nonatomic 非原子性 不為setter方法加鎖
應該盡量避免多執行緒搶奪同一塊資源
*//**
* nsthread 1.建立和啟動執行緒的方式 alloc detach(分離) per
*/}/**
* 執行緒 的注意點
1.不要同時開太多的執行緒 (1-3條即可) 不要超過五條
2.主線程 ui執行緒 重新整理顯示ui介面 處理ui控制項的事件
子執行緒 後台執行緒 非同步執行緒
*/
(多執行緒)多執行緒的併發安全
多執行緒併發操作同乙個資源 同步鎖 多執行緒操作的鎖必須唯一 必須搞清楚 哪些 需要同步?那些在操作共享資源的 只要包含非讀的操作,或者根據共享資源進行條件判斷的,就需要同步!同步 塊解決 package com.gc.thread 多執行緒操作共享資源 併發 執行緒安全問題 同步 鎖 相對而言效能...
多執行緒 執行緒安全
原因 當多個執行緒同時共享,同乙個全域性變數或靜態變數。做寫的操作時,可能發生資料衝突問題,也就是執行緒安全問題。但是做讀操作是不會發生資料衝突問題。解決方案 方式一 內建鎖synchronized synchronized保證執行緒原子性,當執行緒進入方法的時候,自動獲取鎖,一旦鎖被其它執行緒獲取...
多執行緒 執行緒安全
public class unsafethread t.start while thread.activecount 1 system.out.println sum 1 從主記憶體中講sum變數複製到執行緒的工作記憶體 2 在工作記憶體中修改變數 1操作 3 將sum變數從執行緒的工作記憶體寫回到...