码迷,mamicode.com
首页 >  
搜索关键字:加锁线程    ( 20个结果
计算机基础知识整理(一)
操作系统 进程和线程 基本概念 通信 进程间通信 线程间通信 线程间同步方式 有进程后为什么需要线程 单核机器上写多线程程序是否考虑要加锁? 线程需要保存哪些上下文,SP、PC、EAX这些寄存器是干嘛用的 多进程和多线程的使用场景 并发和并行 Linux虚拟内存空间 程序的内存结构 缺页中断 页表寻 ...
分类:其他好文   时间:2020-11-10 11:11:11    阅读次数:5
Java 并发锁之 AQS 的理解?
这篇文章,我们来聊聊面试时一个比较有杀伤力的问题:聊聊你对AQS的理解? 之前有同学反馈,去互联网公司面试,面试官聊到并发时就问到了这个问题。当时那位同学内心估计受到了一万点伤害。。。 因为首先,很多人可能连AQS是什么都不知道。或者仅仅是听说过AQS这个名词,但是可能连全称怎么拼写都不知道。 更有 ...
分类:编程语言   时间:2020-07-05 19:12:03    阅读次数:64
多线程18:Lock锁
Lock(锁): 从JDK5.0开始,Java提供了更强大的线程同步机制——通过显示定义同步锁对象来实现同步,同步锁使用Lock对象充当 java.util.concurrent.locks.Lock接口是控制多个线程对共享线程进行了访问的工具。锁提供了对共享资源的独占访问,每次只有一个线程对Loc ...
分类:编程语言   时间:2020-02-04 20:22:52    阅读次数:99
AQS源码的简单理解
概念 AQS全称 AbstractQueuedSynchronizer。 AQS是一个并发包的基础组件,用来实现各种锁,各种同步组件的。它包含了state变量、加锁线程、等待队列等并发中的核心组件。 ReentrantLock、Semaphore、CountDownLatch、FutrueTask, ...
分类:其他好文   时间:2019-12-17 00:54:44    阅读次数:126
JDK并发包温故知新系列(五)—— 显式锁与显式条件
显式锁-Lock与ReadWriteLockJDK针对Lock的主要实现是ReentrantLock,ReadWriteLock实现是ReentrantReadWriteLock。本文主要介绍ReentrantLock。 ReentrantReadWriteLock两把锁共享一个等待队列,两把锁的状 ...
分类:其他好文   时间:2019-10-04 09:51:30    阅读次数:66
【多线程与并发】Java中的12个原子操作类
从JDK1.5开始,Java提供了java.util.concurrent.atomic包,该包中的原子操作类提供了一种使用简单、性能高效(使用CAS操作,无需加锁)、线程安全地更新一个变量的方式。 `java.util.concurrent.atomic`包中的类.png 根据变量类型的不同,At ...
分类:编程语言   时间:2019-07-28 14:03:09    阅读次数:110
锁的优化
加锁本身不会带来多少性能的损耗,性能的损耗主要在获取锁的过程。1.尽量不要锁住方法,因为在普通成员函数上加锁,线程获得的是该方法所在对象的对象锁;2.缩小同步代码块,尤其是一些循环操作、同步IO操作,并且不止是在代码行数上缩小同步块,在执行逻辑上也应该缩小,例如多增加一些条件判断,在符合条件的情况下 ...
分类:其他好文   时间:2018-12-17 22:01:19    阅读次数:222
innodb 死锁分析之相关表结构说明
表INNODB_TRX的结构说明 等待事务的锁ID,如trx_state的状态为LOCK WAIT,那么该值代表当前的事务等待之前事务 占用锁资源的ID。若trx_state不是LOCK WAIT, 则该值为NULL 事务的权重,反映了一个事务修改和锁定的行数。在InnoDB存储引擎中,当发生死锁需 ...
分类:数据库   时间:2018-07-22 16:55:36    阅读次数:143
pthread锁之pthread_mutexattr_t
相关函数说明 定义锁 定义mutexattr_t变量 设置mutexattr属性 其他相关属性 linux下pthread.h中的线程属性 互斥锁属性 互斥锁的属性在创建锁的时候指定,在LinuxThreads实现中仅有一个锁类型属性,不同的锁类型在试图对一个已经被锁定的互斥锁加锁时表现不同。当前( ...
分类:其他好文   时间:2018-06-14 01:21:28    阅读次数:377
多线程小试牛刀
# 导入多线程模块 import threading # 实例化一个RLock对象mlock mlock = threading.RLock() # 将0赋值给num变量 num = 0 # 定义test函数 def test(): global num # 将num变量转换成全局变量 mlock.... ...
分类:编程语言   时间:2018-01-07 14:28:03    阅读次数:139
20条   1 2 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!