美文网首页
多线程的安全隐患和解决办法

多线程的安全隐患和解决办法

作者: kevinoba | 来源:发表于2016-01-16 15:15 被阅读262次

安全隐患:

多线程具有资源共享的特点, 一块资源有可能同时被多个线程共享, 也就是说在同一时刻有多个线程会去访问同一块资源. 例如: 多个线程访问同一块对象, 同一个变量, 同一个文件.
当多个线程同时去访问同一块资源的时候, 这样的行为很容易引发数据错乱和数据安全问题.


去消除多线程的安全隐患, 就要去给它加上一把锁, 这把锁叫做互斥锁.
互斥锁使用格式

@synchronized(锁对象) {
// 需要锁定的代码
};"
注意:锁定1份代码只用1把锁,用多把锁是无效的


互斥锁的优缺点
优点:能有效防止因多线程抢夺资源造成的数据安全问题
缺点:需要消耗大量的CPU资源

互斥锁的使用前提:多条线程抢夺同一块资源

相关专业术语:线程同步
线程同步的意思是:多条线程在同一条线上执行(按顺序地执行任务)
互斥锁,就是使用了线程同步技术

相关文章

  • 多线程(三)

    上篇多线程(二)我们看了多线程的死锁和队列组的使用,下面我们再来看看多线程的安全隐患代码详见 gitHub_De...

  • 多线程的安全隐患和解决办法

    安全隐患: 多线程具有资源共享的特点, 一块资源有可能同时被多个线程共享, 也就是说在同一时刻有多个线程会去访问...

  • 多线程 线程安全

    多线程的安全隐患 我们用多线程有很多好处,但是也存在安全隐患资源共享1块资源可能会被多个线程共享,也就是多个线程可...

  • NSThread多线程实现

    1. 创建和启动线程 2. 控制线程状态 3. 多线程的安全隐患 4. 安全隐患解决 – 互斥锁 5. 原子和非原...

  • iOS底层原理总结 - 多线程的锁

    目录:1.为什么要线程安全2.多线程安全隐患分析3.多线程安全隐患的解决方案4.锁的分类-13种锁4.1.1OSS...

  • iOS-多线程2-线程安全、OSSpinLock

    一. 安全隐患 利用多线程异步可以同时做不同的事情,效率更高,但是这样也会有安全隐患。 造成安全隐患的原因:一块资...

  • iOS_线程安全

    多线程的安全隐患 当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题 安全隐患解决 方案一:使用“同步块...

  • 4.多线程基础(四) 线程的状态,安全性

    1.线程的状态 2.多线程的安全隐患 3.多线程的同步问题 //没有加锁之前 //加锁之后: 下面不是唯一的: 4...

  • 多线程(四)

    上篇多线程(三)我们看了多线程的安全隐患 以及各种锁的简单使用,接下来我们来看看锁的比较、以及自旋锁、互斥锁比较 ...

  • 多线程的安全隐患

    资源共享一块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源.比如多个线程访问同一个对象、同一个变量、...

网友评论

      本文标题:多线程的安全隐患和解决办法

      本文链接:https://www.haomeiwen.com/subject/dyghkttx.html