多线程
子房为之奈何
一名程序员,热爱编程,乐于助人,希望使用代码改变生活方式。
展开
-
理解理解CAS和Volatile
文章目录CAS的理解什么是CAS自旋锁ABA问题如何解决?Volatile可见性体会不保证原子性体会禁止指令重排 CAS的理解 什么是CAS CompareAndSweep比较并交换。 AtomicInteger atomicInteger = new AtomicInteger(1); //期望值是1,如果达到,那么就更新为2,否则不更新 atomicInteger.compareAndSet(1,2); 自旋锁 比较当前线程工作内存中的值和主内存中的值,如果这个值是期望的,那么就执行操作,否则一直循原创 2020-09-10 20:32:03 · 250 阅读 · 0 评论 -
原来你是这样的线程池
我们知道,创建线程有四种方式 继承Thread类 实现Runnable接口 实现Callable接口,jdk1.5新增 使用线程池,jdk1.5新增 那么,什么是线程池? 简单理解,线程池就是将线程提前创建好的一个池子,需要的时候就取出使用,不在使用就归还给线程池。 线程池有什么作用? 我们创建、销毁线程,都要消耗特别大的资源,并发情况下,对于性能影响很大。使用线程池,能够提高响应速度。降低资源消耗,便于线程的管理。 如何创建? 1.通过官方提供的API创建 ExecutorService th.原创 2020-09-06 23:44:54 · 111 阅读 · 0 评论