volatile 只能修饰变量,作用:保证该变量在所有线程间可见
AtomticInteger 继承 Number 实现Serilizable接口,提供了CAS原子操作的方法,保证线程安全
每一个ThreadLocal能够放一个线程级别的变量,可是它本身能够被多个线程共享使用,并且又能够达到线程安全的目的,且绝对线程安全
CountDownLatch内部包含一个计数器,一开始初始化为一个整数(事件个数),发生一个事件后,调用countDown方法,计数器减1,await用于等待计数器为0后继续执行当前线程 await方法最好放在try catch 语句
创建线程可以用ExecutorService es = Executors.newFixedThreadPool(threadCount);
es.executor(传线程);//这里线程可以是实现Runnable无需返回结果的 也可以是实现Collable接口返回结果用Future来接受
Semaphore,其内部维护一组资源,可以通过构造函数指定数目,其它线程在执行的时候,可以通过acquire方法获取资源,有的话,继续执行(使用结束后释放资源),没有资源的话将阻塞直到有其它线程调用release方法释放资源;
CyclicBarrier栅栏用于等待其它线程,且会阻塞自己当前线程;
所有线程必须同时到达栅栏位置后,才能继续执行;
1024

被折叠的 条评论
为什么被折叠?



