在开发过程中,使用多线程来可以提高程序运行效率。本文不说多线程,重点说说的使用。什么时候需要用到呢?比如相亲,多少单身狗的痛。你经过七大姑八大姨的介绍,争取到了一个相亲的机会,于是你就屁颠屁颠的去见人家姑娘了。结果殊不知,等你到了人家姑娘的家中后,发现她正在和另一个童鞋相谈甚欢,这个时候你能进去见人家姑娘吗?显然不能。可能她的妈妈就在门口看着呢。此处的妈妈的职责就是保证正在进行相亲不会因为其他
转载 8月前
14阅读
本文主要是一个对各种的简单整理,方便后续查看回顾,毕竟锁在实际项目中用的比较少,再牛逼的知识点,老不用也记不住。好记性不如烂笔头。主要参考了李明杰的教学视频,如有侵权,联系我,我立马删除说到肯定是涉及多线程了,所以先简单的介绍一下iOS里的多线程GCD。 先介绍几个比较容易混淆的术语:同步:在当前线程中执行任务,不具备开启新线程的能力;异步:在新的线程中执行任务,具备开启新线程的能力;并发:多
转载 2024-08-01 17:12:34
16阅读
不知道其他人是不是有这样的想法,对于我个人而言感觉挺难的,只要在面试中问到的相关知识,心里就会咯噔一下,在度娘搜了好多零零散散的知识,还是得记录一下,省的自己以后忘记了。 首先来说说有的种类,下面会有用到这些。的种类的种类真的很多,这里就只列出我认为用的最多的有那几种:公平和非公平重入和不可重入互斥和读写悲观和乐观重量和轻量独享和共享分段。。。接着就来说说这几种的各自含义:公平和非公平
转载 2024-01-12 06:42:38
46阅读
Redis几种架构Redis发展到现在,几种常见的部署架构有:单机模式;主从模式;哨兵模式;集群模式;我们首先基于这些架构讲解Redisson普通分布式实现,需要注意的是,只有充分了解普通分布式是如何实现的,才能更好的了解Redlock分布式的实现,因为Redlock分布式的实现完全基于普通分布式。普通分布式Redis普通分布式原理这个大家基本上都了解,本文不打算再过多的介绍。接下来
转载 2023-05-25 15:20:13
259阅读
为什么要用?为了保证多线程访问一块公共资源时,对资源的保护。或者说是多线程安全 or 线程同步 但是线程同步的实现并不是只有加锁才能解决,串行队列也是一种解决方式。通用使用步骤//带❀的是一定要有的步骤。 ❀初始化 | 赋予一定参数 ❀加锁 | 通过一定条件加锁 等待 | 线程进入 wait 等待条件 ❀处理公共资源代码 { } ❀解锁 | 给赋予条件 销毁 & 的属性
转载 2024-07-10 20:25:11
73阅读
本文主要介绍常见的,以及synchronized、NSLock、递归、条件的底层分析 借鉴一张的性能数据对比图,如下所示性能对比 可以看出,图中的性能从高到底依次是:OSSpinLock(自旋) -> dispatch_semaphone(信号量) -> pthread_mutex(互斥) -> NSLock(互斥) -> NSConditio
转载 2023-10-09 13:37:18
398阅读
1、NSLockNSLock 遵循 NSLocking 协议,lock 方法是加锁,unlock 是解锁,tryLock 是尝试加锁,如果失败的话返回 NO,lockBeforeDate: 是在指定Date之前尝试加锁,如果在指定时间之前都不能加锁,则返回NO@protocol NSLocking - (void)lock; - (void)unlock; @end @interface N
转载 2023-07-25 21:28:09
61阅读
的种类互斥 自旋互斥:保证在任何时候,都只有一个线程访问对象。当获取操作失败时,线程会进入睡眠,等待释放时被唤醒;自旋:与互斥有点类似,只是自旋 不会引起调用者睡眠,如果自旋已经被别的执行单元保持,调用者就一直循环尝试,直到该自旋的保持者已经释放了;因为不会引起调用者睡眠,所以效率高于互斥;自旋缺点:调用者在未获得的情况下,一直运行--自旋,所以占用着CPU,如果不能
转载 2024-01-30 23:09:53
192阅读
近日工作不是太忙,刚好有时间了解一些其他东西,本来打算今天上午去体检,但是看看天气还是明天再去吧,也有很大一个原因:就是周六没有预约上!闲话少说,这里简单对来个简单介绍分享。 1 前言近日工作不是太忙,刚好有时间了解一些其他东西,本来打算今天上午去体检,但是看看天气还是明天再去吧,也有很大一个原因:就是周六没有预约上!闲话少说,这里简单对来个简单介绍
转载 2023-07-24 12:07:53
43阅读
虽然苹果手机的iOS系统整体非常流畅,而且在生态建设以及UI及交互方面做得非常出色,但是唯一的缺点就是太封闭了,无法像安卓手机那样,想要什么功能就给你提供什么功能。比如最简单实用的软件密码iOS上一直没有提供。这就导致如果把手机借给别人使用的话,那么自己的秘密将会一览无余。手机一旦丢失,数据安全也是一个问题。其实我们可以通过系统的其他功能来间接地实现“密码”的功能,而且非常简单,快来学学!首
MySQL是一个常用的关系型数据库管理系统,它支持多种类型来保证数据的一致性和并发性。在实际应用中,了解不同的类型以及其使用场景是非常重要的。 MySQL中常见的类型包括共享(Shared Lock)、排他(Exclusive Lock)、意向共享(Intention Share Lock)、意向排他(Intention Exclusive Lock)等。这些类型可以在不同的场景
原创 2024-06-14 04:27:44
27阅读
提示:文章先作为初版,等后续时间充足后,补充更深的内容 文章目录MySql类型一、分类二、详细的属性的粒度乐观和悲观 MySql类型一、分类基于的属性【读写】分类:共享【读】、排他【写】。基于的粒度【范围】分类:行级(innodb ) 、表级 ( innodb 、myisam)、页级( innodb引擎)、记录、间隙、临键。基于的状态分类:意向共享、意向排它
转载 2023-11-10 08:29:17
18阅读
什么是S-OFF? S代表 Security Lock安全,保护的意思。S-OFF就是保护关。S-ON就是保护开 Secure Lock 就是安全。是硬件设计商用于保护自己固件不被刷写而设计的安全。如果这个安全是关闭的,那么对手机内的闪存芯片的刷写保护就关闭了。言外之意就是可以随便刷ROM了。 而S-ON就是安全打开了。手机被写保护了。HTC的机器在用RUU刷机的时RUU会将安全
类型有三种:  共享(S):多个事务可封锁一个共享页;任何事务都不能修改该页; 通常是该页被
00
原创 2023-07-11 16:26:40
56阅读
Mysql类型Mysql类型Mysql类型Mysql类型Mysql类型Mysql类型
原创 2022-12-07 14:37:09
57阅读
# Java 类型的基本实现 在Java中,是一种用于控制对共享资源的访问的机制。理解和使用是多线程编程中的重要一环。在这篇文章中,我们将逐步学习如何实现Java中的不同类型,包括内部(synchronized)和显示(ReentrantLock)。以下是实现过程的简要流程: ### 实现流程 | 步骤 | 描述 | |------|--------
原创 11月前
17阅读
今天我要跟你聊聊 MySQL 的。数据库设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而就是用来实现这些访问规则的重要数据结构。根据加锁的范围,MySQL 里面的大致可以分成全局、表级和行三类。今天这篇文章,我会和你分享全局和表级。而关于行的内容,我会留着在下一篇文章中再和你详细介绍。这里需要说明的是,的设计比较复杂
摘要记得面试的时候总是被问及一些java相关的问题,其中最常被问及的就是:类型都用哪些?这篇文章主要记录常用的一些类型,以备面试中问道。类型:1. 乐观、悲观乐观:顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观适用于多读的应用类型,这样可以提高吞吐量,在Java中ja
转载 2023-10-16 23:29:13
59阅读
的类别:互斥,递归,条件,自旋的实现方式:NSLock,NSRecursiveLock, NSConditionLock,@synchronized,GCD的信号量等下面说一下常用的几种:1.@synchronized:对象级别所,互斥,性能较差不推荐使用@synchronized(这里添加一个OC对象,一般使用self) { 这里写要加锁的代码
转载 2023-06-24 22:34:48
86阅读
一 、线程安全1.1 什么是线程安全线程操作共享数据的时候不会出现意想不到的结果就叫线程安全,否则,就是线程不安全1.2 原子属性是一定是线程安全的?原子属性只能保障 set 或者 get的读写安全,但我们在使用属性的时候,往往既有set又有get,所以说原子属性并不是线程安全的。二、 iOS中的三种2.1 自旋锁在访问被的资源的时候,调用者线程不会休眠,而是不停循环在那里,直到被
  • 1
  • 2
  • 3
  • 4
  • 5