1.为什么要有并发编程计算机的cpu与I/O的效率并不是完全一致的,CPU的处理速度快时,在进行I/O操作时,可能会导致CPU空闲的状态,为了最打程度的利用cpu的资源,开发人员创造了并发编程,进程通过轮换可以最大程度的利用cpu的资源,同时给用户进程在同步执行的错觉。但是进程之间并不会共享数据,同时上下文的切换也比较耗时,线程横空出世,同一个进程中的不同线
......
288
0
0
2022-12-05
并发执行利用了线程的手段,可以提高执行效率,这里用一个简单的例子来进行简单对比1.串行执行public class ThreadDemo2 {
private static long count = 100_0000_0000L;
public static void main(String[] args) {
//
......
291
0
0
2022-11-28
###/** 题目:现在两个线程,可以操作初始值为零的一个变量, 实现一个线程对该变量加1,一个线程对该变量-1, 实现交替,来10轮,变量初始值为0.1. 高内聚低耦合前提下,线程操作资源类2. 判断/干活/通知3. 多线程中交互中 必须要,防止多线程的虚假唤醒(判断只能用while,不能用if)知识小总结:多线程编程套路+while判断+新版写法————
......
304
0
0
2022-10-24
生产者 - 消费者模式在编程领域的应用非常广泛,前面我们曾经提到,Java 线程池本质上就是用生产者 - 消费者模式实现的,所以每当使用线程池的时候,其实就是在应用生产者 - 消费者模式。当然,除了在线程池中的应用,为了提升性能,并发编程领域很多地方也都用到了生产者 - 消费者模式,例如 Log4j2 中异步 Appender 内部也用到了生产者 - 消费者
......
311
0
0
2022-04-13