美文网首页
iOS中目前最喜欢用的四种锁

iOS中目前最喜欢用的四种锁

作者: AlexCorleone | 来源:发表于2018-07-26 16:44 被阅读8次

dispatch_semaphore_t(信号锁)

NSLock(锁)

NSConditionLock(条件锁)

@synchronized (TARGET){//code}

三种锁的创建:

三种锁的创建方式都比较简单、dispatch_semaphore_t当value只有0和1的时候其实可以看成一种互斥锁、这个和NSlock的作用基本相同。NSConditionLock可以说是这三个中比较强大的一种锁了、因为Condition的存在我们可以进行多条件Condition的控制、当然当Condition只有0和1两种情况时,其实三者没有太多的区别(内部原理不清楚哦!!!据说dispatch_semaphore_t的效率更高、不过确实好多的三方框架使用的就是dispatch_semaphore_t进行的锁控制)。

P1-1-1

锁的使用:

我们先创建一个环境、两个线程执行不同的任务、但是两个线程是交替执行的也就是线程A->线程B->线程A->线程B......一直循环进行。

上代码:

P1-1-2

工作线程A:

P1-1-3

工作线程B:

p-1-14

case1、case2、case3是三种锁的简单使用方式、这样便可以做到线程A和线程B在同步切换进行工作。

相关文章

  • iOS中目前最喜欢用的四种锁

    dispatch_semaphore_t(信号锁) NSLock(锁) NSConditionLock(条件锁) ...

  • iOS中GCD学习笔记

    1. iOS中多线程的四种方案 iOS中实现多线程目前有4种方案,最常用的是GCD和NSOperation两种,而...

  • iOS 多线程知识相关

    前言 主要是整理下关于iOS中多线程的相关知识点,加强记忆 目前iOS有四种多线程 1.Pthreads2.NST...

  • 锁的四种状态

    锁的四种状态 Java锁的四种状态分别是无锁、偏向锁、轻量级锁、重量级锁。 为什么要有锁的四种状态 JDK 1.6...

  • 线程锁

    iOS中有几种线程锁:@synchronized、NSLock以及NSRecursiveLock(递归锁)。本文用...

  • 谈 iOS 你能打开几把锁

    转载:谈 iOS 的锁 又到了春天挪坑的季节,想起多次被问及到锁的概念,决定好好总结一番。 翻看目前关于 iOS ...

  • iOS多线程(二):多线程实现方案(pthread、NSThre

    iOS中主要有四种实现多线程操作的方案,pthread、NSthread、GCD和NSOperation。前两个用...

  • OC--各种线程锁

    参考:正确使用多线程同步锁@synchronized()iOS中的锁iOS多线程安全详解iOS 常见知识点(三):...

  • ios开发中的各种锁机制

    ios开发中的各种锁机制

  • iOS 视频播放基础

    iOS 播放视频有四种实现方式:AVPlayerMPMoviePlayerController 9.0 弃用MPM...

网友评论

      本文标题:iOS中目前最喜欢用的四种锁

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