JavaShuo
欄目
標籤
多線程的安全隱患
時間 2019-11-08
標籤
多線程
安全
隱患
欄目
Java
简体版
原文
原文鏈接
資源共享
1塊資源可能會被多個線程共享,也就是多個線程可能會訪問同一塊資源
好比多個線程訪問同一個對象、同一個變量、同一個文件
當多個線程訪問同一塊資源時,很容易引起數據錯亂和數據安全問題
安全隱患分析:
安全隱患的解決——互斥鎖:
互斥鎖使用格式
@synchronized(鎖對象) {
//
須要鎖定的代碼 }
注意:鎖定1份代碼只用1把鎖,用多把鎖是無效的
安全
互斥鎖的優缺點:
優勢:能有效防止因多線程搶奪資源形成的數據安全問題
缺點:須要消耗大量的CPU資源
互斥鎖的使用前提:
多條線程搶奪同一塊資源
相關專業術語:
線程同步
線程同步的意思是:多條線程在同一條線上執行(按順序地執行任務)
互斥鎖,就是使用了線程同步技術
原子和非原子屬性:
OC在定義屬性時有
nonatomic
和
atomic
兩種選擇
atomic
:原子屬性,爲
setter
方法加鎖(默認就是
atomic
)
nonatomic
:非原子屬性,不會爲
setter
方法加鎖
nonatomic
和
atomic
對比
atomic
:線程安全,須要消耗大量的資源
nonatomic
:非線程安全,適合內存小的移動設備
iOS開發的建議
全部屬性都聲明爲
nonatomic
儘可能避免多線程搶奪同一塊資源
儘可能將加鎖、資源搶奪的業務邏輯交給服務器端處理,減少移動客戶端的壓力
相關文章
1.
線程的安全隱患
2.
iOS開發——高級篇——多線程的安全隱患
3.
安全隱患一則
4.
小碼哥iOS學習筆記第二十天: 多線程的安全隱患
5.
Android應用的安全隱患*
6.
Docker數據安全隱患分析
7.
直擊 IoT 重點安全隱患
8.
WEB十大安全隱患 --序
9.
TCP/IP協議及其安全隱患
10.
UDP協議及其安全隱患
更多相關文章...
•
C# 多線程
-
C#教程
•
ASP.NET MVC - 安全
-
ASP.NET 教程
•
適用於PHP初學者的學習線路和建議
•
Composer 安裝與使用
相關標籤/搜索
隱患
C#多線程
java_多線程
多線程
java多線程
python 多線程
java 多線程
安全--教程
全線
Java
系統安全
Docker命令大全
NoSQL教程
PHP教程
教程
學習路線
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
網絡層協議以及Ping
2.
ping檢測
3.
爲開發者總結了Android ADB 的常用十種命令
4.
3·15 CDN維權——看懂第三方性能測試指標
5.
基於 Dawn 進行多工程管理
6.
缺陷的分類
7.
阿里P8內部絕密分享:運維真經K8S+Docker指南」,越啃越香啊,寶貝
8.
本地iis部署mvc項目,問題與總結
9.
InterService+粘性服務+音樂播放器
10.
把tomcat服務器配置爲windows服務的方法
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
線程的安全隱患
2.
iOS開發——高級篇——多線程的安全隱患
3.
安全隱患一則
4.
小碼哥iOS學習筆記第二十天: 多線程的安全隱患
5.
Android應用的安全隱患*
6.
Docker數據安全隱患分析
7.
直擊 IoT 重點安全隱患
8.
WEB十大安全隱患 --序
9.
TCP/IP協議及其安全隱患
10.
UDP協議及其安全隱患
>>更多相關文章<<