随笔分类 - JUC
摘要:为什么用线程池? 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处-理效率 2.线程并发数量过多,抢占系统资源从而导致阻塞 3.对线程进行一些简单的管理 在Java中,线程池的概念是Executor这个接口,具体实现为ThreadPoolExecutor类,学习Java
阅读全文
摘要:创建线程的方式: 1、继承Thread 2、实现Runnable接口 3、实现callable接口+FutureTask(可以拿到返回结果,可以处理异常) 4、线程池 四大方法+七大参数+四种丢弃策略
阅读全文
摘要:CompareAndSet >CAS 比较并交换 CAS是什么:全称为CompareAndSet,是一条CPU并发原语。它的功能是判断内存中某个位置的值是否是期望值,是的话更改为新的值,这个过程是原子性的。CAS并发原语体现在JAVA语言中就是sun.misc.unsafe类中的各个方法中。调用Un
阅读全文
摘要:一. 为什么要使用线程池缺点a、每次new Thread新建对象,性能差。b、缺乏统一管理,可能无限制的新建线程,过多占用系统资源导致死机或OOM优点a、重用存在的线程,减少对象创建,消亡的开销b、有效控制最大并发线程数,提高系统资源利用率有哪几种线程池:1.newCachedThreadPool创
阅读全文