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.
以实例说明微服务拆分(以SpringCloud+Gradle)
2.
idea中通过Maven已经将依赖导入,在本地仓库和external libraries中均有,运行的时候报没有包的错误。
3.
Maven把jar包打到指定目录下
4.
【SpringMvc】JSP+MyBatis 用户登陆后更改导航栏信息
5.
在Maven本地仓库安装架包
6.
搭建springBoot+gradle+mysql框架
7.
PHP关于文件$_FILES一些问题、校验和限制
8.
php 5.6连接mongodb扩展
9.
Vue使用命令行创建项目
10.
eclipse修改启动图片
本站公众号
欢迎关注本站公众号,获取更多信息
相关文章
1.
线程的安全隐患
2.
iOS开发——高级篇——多线程的安全隐患
3.
安全隐患一则
4.
小码哥iOS学习笔记第二十天: 多线程的安全隐患
5.
Android应用的安全隐患*
6.
Docker数据安全隐患分析
7.
直击 IoT 重点安全隐患
8.
WEB十大安全隐患 --序
9.
TCP/IP协议及其安全隐患
10.
UDP协议及其安全隐患
>>更多相关文章<<