1.让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒。 2.CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程会被阻塞。其它线程调用countDown方法会将计算器减1(调用countDown方法的线程不会阻塞),当计数器的值变成零时,因调用await方法 ...
分类:
其他好文 时间:
2020-01-04 22:44:03
阅读次数:
99
linux线程调度策略 这是一篇关于线程调度的非常好的资料,翻译自 "shed" [TOC] 从Linux 2.6.23开始,默认的调度器为CFS,即"完全公平调度器"(Completely Fair Scheduler)。CFS调度器取代了之前的"O(1)"调度器。 Scheduling poli ...
分类:
编程语言 时间:
2020-01-02 16:01:18
阅读次数:
113
异步爬虫方式 目的:在爬虫中使用异步实现高性能的数据爬取操作 异步爬虫方式: 多进程,多线程 (不建议) 好处:可以为先关阻塞操作单独开启进程或者线程,阻塞操作就可以异步执行 坏处:无法无限制开启 线程池,进程池 (适当使用) 好处:可以降低系统对进程或者线程创建和销毁的评率,进而降低系统开销 坏处 ...
分类:
其他好文 时间:
2019-12-28 21:02:23
阅读次数:
103
概念 乐观锁 总是假设最好的情况,认为竞争总是不存在,每次拿数据的时候都认为不会被修改,因此不会先上锁,在最后更新的时候比较数据有无更新,可通过版本号或CAS实现。 悲观锁 总是假设最坏的情况,认为竞争总是存在,每次拿数据的时候都认为会被修改,因此每次都会先上锁。其他线程阻塞等待释放锁。我们之前使用 ...
分类:
其他好文 时间:
2019-12-26 09:46:06
阅读次数:
110
CyclicBarrier 的中文意思是 "循环栅栏",简单理解就是一个可以循环利用的屏障。 用于让多个线程阻塞在屏障处,当屏障达到放开的条件,所有被阻塞的线程会继续执行,此时 CyclicBarrier 会自动重置。 阻塞线程在屏障处,调用 CyclicBarrier 对象的 await() 方法 ...
分类:
其他好文 时间:
2019-12-26 09:42:46
阅读次数:
110
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 Java多个线程共享资源; 1)wait()、notify()和notifyAll()方法是本地方法,并且为final方法,无法被重写。 2)调用某个对象的wait()方法能让当前线程阻塞,并且当前线程必须拥有此对象的m ...
分类:
编程语言 时间:
2019-12-24 23:25:23
阅读次数:
109
AQS AbstractQueuedSynchronizer抽象资源队列同步器,用于实现任务对于资源获取的同步功能。 几个要点: 资源:state,int计数 等待线程:Node,等待线程队列 线程阻塞:Unsafe.park() 获取和释放资源通过操作state实现,为0则代表资源空闲。 ...
分类:
其他好文 时间:
2019-12-20 18:29:35
阅读次数:
65
背景 项目需求中涉及java调用.bat文件进行图像处理,先直接上简略版程序 1 public void draw(){ 2 3 //调用bat脚本进行图像处理 4 Process process = null; 5 InputStream in = null; 6 try { 7 process ...
分类:
编程语言 时间:
2019-12-14 11:55:03
阅读次数:
122
何为乐观锁,悲观锁 顾名思义,乐观就是对于事情事务都是往好的一方面去想去发展. 悲观就是对于事情事务都是往坏的一方面去想去发展. 且两者各有优缺点. 悲观锁 共享资源每次只给一个线程使用,其他线程阻塞,用完之后再把资源转让给其他线程. 每次拿数据的时候都认为别人会修改,所以在每次那数据的时候都会上锁 ...
分类:
其他好文 时间:
2019-12-13 19:28:37
阅读次数:
91