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.
說說Python中的垃圾回收機制?
2.
螞蟻金服面試分享,阿里的offer真的不難,3位朋友全部offer
3.
Spring Boot (三十一)——自定義歡迎頁及favicon
4.
Spring Boot核心架構
5.
IDEA創建maven web工程
6.
在IDEA中利用maven創建java項目和web項目
7.
myeclipse新導入項目基本配置
8.
zkdash的安裝和配置
9.
什麼情況下會導致Python內存溢出?要如何處理?
10.
CentoOS7下vim輸入中文
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
線程的安全隱患
2.
iOS開發——高級篇——多線程的安全隱患
3.
安全隱患一則
4.
小碼哥iOS學習筆記第二十天: 多線程的安全隱患
5.
Android應用的安全隱患*
6.
Docker數據安全隱患分析
7.
直擊 IoT 重點安全隱患
8.
WEB十大安全隱患 --序
9.
TCP/IP協議及其安全隱患
10.
UDP協議及其安全隱患
>>更多相關文章<<