美文网首页
知识点积累笔记---互斥锁

知识点积累笔记---互斥锁

作者: summer_code | 来源:发表于2017-02-22 21:23 被阅读28次

在多线程情况下:多个线程要访问同一块资源时,容易引发数据混乱出错 和线程安全等等问题。因此需要给线程加上互斥锁。

方式一:@synchronized互斥锁

//toke必须是全局唯一的  一般用self

//加锁后 会消耗一定的性能

//加锁后的结果:线程同步,多条线程按顺序地执行任务

@synchronized (<#token#>) {

<#statements#>

}

注意:锁定一份代码只用一把锁,多把锁是无效的

方式二:NSLock

lock,加锁

unlock,解锁

tryLock,尝试加锁,如果失败了,并不会阻塞线程,只是立即返回NO

NSLock: 使用注意,不能多次调用 lock方法,会造成死锁

相关文章

  • 知识点积累笔记---互斥锁

    在多线程情况下:多个线程要访问同一块资源时,容易引发数据混乱出错 和线程安全等等问题。因此需要给线程加上互斥锁。 ...

  • 线程同步与互斥

    Linux--线程编程 多线程编程-互斥锁 线程同步与互斥 互斥锁 信号量 条件变量 互斥锁 互斥锁的基本使用...

  • Golang 锁的相关知识

    Golang锁分类:互斥锁(Mutex)、读写锁(RWMutex)。 互斥锁 在编写代码中引入了对象互斥锁的概念,...

  • iOS底层探索-多线程锁

    多线程的锁大致可分为两大类:互斥锁、自旋锁;也可以分为三类:互斥锁、自旋锁、读写锁。 一、互斥锁:互斥+同步(强调...

  • Java面试:多线程中的各种锁,你了解几个?

    学习 java 多线程时,最头疼的知识点之一就是 java 中的锁了,什么互斥锁、排它锁、自旋锁、死锁、活锁等等,...

  • go-锁机制

    Golang中的锁机制主要包含互斥锁和读写锁 互斥锁 互斥锁是一种简单的加锁的方法来控制对共享资源的访问,互斥锁只...

  • 线程锁

    1.常见的锁包括:互斥锁,自旋锁。 2.互斥锁是指锁的类型,自旋锁是指锁的实现方式。 3.互斥锁:当上...

  • 算法:读写者问题

    锁解析 : RWMutex : 读-写互斥锁 WWMutex : 写-写互斥锁 WPriorityMutex =...

  • 可重入读写锁 ReentrantReadWriteLock

    读写锁分为读锁和写锁,多个线程获取读锁不互斥,读写锁、写写锁互斥。 输出

  • C++锁

    锁的种类 互斥锁、条件锁、自旋锁、读写锁、递归锁。 互斥锁 头文件: 类型:pthread_mutex_t, 函数...

网友评论

      本文标题:知识点积累笔记---互斥锁

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