上一页 1 2 3 4 5 6 ··· 35 下一页
摘要: 一、概述 Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。 二、使用案例 可以用于做流量控制,特别是公用资源有限的应用场景,比如数据库连接。假如有一个需求,要读取几万个文件的数据,因为都是IO密集型任务,我们可以启动几十个线程并发地读取 阅读全文
posted @ 2022-12-27 17:59 迷走神经 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 一、概述 条件锁就是指在获取锁之后发现当前业务场景自己无法处理,而需要等待某个条件的出现才可以继续处理时使用的一种锁。 比如,在阻塞队列中,当队列中没有元素的时候是无法弹出一个元素的,这时候就需要阻塞在条件notEmpty上,等待其它线程往里面放入一个元素后,唤醒这个条件notEmpty,当前线程才 阅读全文
posted @ 2022-12-27 14:32 迷走神经 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 一、简介 读写锁是一种特殊的锁,它把对共享资源的访问分为读访问和写访问,多个线程可以同时对共享资源进行读访问,但是同一时间只能有一个线程对共享资源进行写访问,使用读写锁可以极大地提高并发量。 二、特性 读写锁具有以下特性: 是否互斥读写 读 否 是 写 是 是 可以看到,读写锁除了读读不互斥,读写、 阅读全文
posted @ 2022-12-27 10:59 迷走神经 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 一、简介 LockSupport是用来创建锁和其他同步类的基本线程阻塞原语。 LockSupport中的park()和unpark()的作用分别是阻塞线程和解除阻塞线程,而且park()和unpark()不会遇到“Thread.suspend和Thread.resume所可能引发的死锁”问题。因为p 阅读全文
posted @ 2022-12-27 10:03 迷走神经 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 一、概述 ReentrantLock是Java并发包中提供的一个可重入的互斥锁。ReentrantLock和synchronized在基本用法,行为语义上都是类似的,同样都具有可重入性。只不过相比原生的Synchronized,ReentrantLock增加了一些高级的扩展功能,比如它可以实现公平锁 阅读全文
posted @ 2022-12-26 17:07 迷走神经 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 一、简介 AbstractQueuedSynchronizer(简称AQS),抽象的队列式的同步器,是Java并发包实现的基类。 AQS用来构建锁和同步器的框架,使用AQS能简单且高效地构造出大量的应用广泛的同步器,如常用的ReentrantLock、Semaphore、CountDownLatch 阅读全文
posted @ 2022-12-26 16:40 迷走神经 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 使用场景 有次合并了别的分支代码,但是想合并单个文件,结果试一下全合并了,那么不想要这次合并,需要用远程强制覆盖本地分支的方法。 另外合并单个文件用cherry-pick方法。 参考:https://www.shuzhiduo.com/A/LPdoqQGNJ3/ https://blog.csdn. 阅读全文
posted @ 2022-12-26 09:30 迷走神经 阅读(5200) 评论(0) 推荐(0) 编辑
摘要: git alias 别名操作 功能介绍 设置别名:熟悉linux的同学应该知道,在linux中,有些命令很长,并且加上了很多参数,每次敲一遍太麻烦了。于是就可以给这些命令设置别名或者是缩写,命令行输入别名能达到一样的效果。git的alias命令也是这么用的。 方法一:使用命令添加别名 git con 阅读全文
posted @ 2022-12-07 20:41 迷走神经 阅读(1108) 评论(0) 推荐(0) 编辑
摘要: 从本章开始,我们开始对“字符流”进行学习。首先,要学习的是CharArrayReader。学习时,我们先对CharArrayReader有个大致了解,然后深入了解一下它的源码,最后通过示例来掌握它的用法。 1. CharArrayReader 介绍 CharArrayReader 是字符数组输入流。 阅读全文
posted @ 2022-06-13 10:48 迷走神经 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 我们初学java的第一个程序是"hello world" public class HelloWorld { public static void main(String[] args) { System.out.println("hello world"); } } 上面程序到底是怎么在屏幕上输出 阅读全文
posted @ 2022-06-13 10:25 迷走神经 阅读(1749) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 35 下一页