
多线程
文章平均质量分 57
银河架构师
微信搜索:银河架构师,发现更多精彩内容
展开
-
面试宝典(五):用三个线程按顺序循环打印123三个数字,比如123123123
要使用三个线程按顺序循环打印123三个数字,势必要控制线程的执行顺序,可以使用java.util.concurrent包中的Semaphore类来控制线程的执行顺序。原创 2024-10-24 14:35:14 · 585 阅读 · 0 评论 -
面试宝典(三):如何使用两个线程实现服务提供和服务消费
本次我们来讲一个多线程常见的面试题:如何用两个线程,实现服务提供和服务消费,即一个线程用作服务提供,一个线程用作服务消费?原创 2022-10-24 10:46:24 · 701 阅读 · 1 评论 -
多线程编程(二):List组装
因此,不会出现丢失/覆盖数据的情况。比如,拟定一个场景,给定0-9999,共10000个数字,组装2个列表:奇数列表、偶数列表,分别存储到2个列表中。但是,如果有天,业务量激增,单线程已经满足不了需求了,必须使用多线程提升处理速度,那么多线程该怎么处理呢?在日常工作中,难免遇到在循环体中组装List的场景,一般来说,不考虑多线程的话,实现起来非常简单。但是,运行结果却不尽如人意,奇数和偶数列表,并不一定是5000,飘忽不定。运行这段代码,得出的结果也必然是,奇数列表5000个,偶数列表5000个。...原创 2022-08-31 16:02:29 · 576 阅读 · 0 评论 -
多线程编程(一):加减计算
每次执行完之后,都会将计数器减1(countDownLatch.countDown()),在未执行完之前,处于等待状态(countDownLatch.await())。这是因为多线程运行时为并发方式,也许线程尚未执行时,便输出了count的值,此时为初始值0。此时,就需要引入一个新的类,AtomicInteger,可以以原子方式更新int值。感谢您的阅读,我是银河架构师,十年饮冰,难凉热血,愿历尽千帆,归来仍是少年!运行一下,结果与预期一致,count在经过3次加1之后,最终结果为3。运行一下,结果为0。.原创 2022-07-21 15:00:48 · 909 阅读 · 0 评论