摘要: 首先还是看多线程多进程在硬件上意味着什么,对于多CPU情况,多线程是如何进行调解的。复习下基本的概念 进程:是操作系统(OS)[windows,Linux,Mac]进行资源(CPU、内存、磁盘、IO、带宽等)分配的最小单位——>QQ,微信,网易云等; 线程:是CPU调度和分配的基本单位。一个进程可由 阅读全文
posted @ 2021-01-04 14:43 smartcat994 阅读(1413) 评论(0) 推荐(0) 编辑
摘要: 创建一个线程只需要,New Thread();,就可以完成,但是在JVM里面是一个很重的操作,需要调用操作系统内核的 API,然后操作系统要为线程分配一系列的资源。 所以线程是一个重量级的对象,应该避免频繁创建和销毁。 线程池是一种生产者-消费者模式,目前对于池化技术的实现一般都需要依赖容器来进行实 阅读全文
posted @ 2021-01-04 11:10 smartcat994 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 并发编程的几个注意点,原子性一直是需要提到的。 在思想里面,一个是volatile实现可见性,或者加锁实现原子性。syn的本质其实是管程(也就是监视器),JVM层面的。Lock是JDK层面的,AQS实现 还有一个就是原子性。Java 里面提供的是Atomic家族。 原子性!=CAS,CAS是一种思想 阅读全文
posted @ 2021-01-04 10:02 smartcat994 阅读(119) 评论(0) 推荐(0) 编辑