Java.util.concurrent(简称juc)是java 5添加的一个包,包含了一些类和接口,它主要用于实现多线程编程和线程安全性,同时也提供了一些支持线程的实用类和接口。
1、 Executor:Executor是一个接口,可以用于执行Runnable接口定义的任务,它提供了更多的灵活性和扩展性,它可以替代繁琐的Thread类;
2、 Executors:Executors是一个工具类,它提供了一些用于创建线程池的工厂方法;
3、 Callable:Callable是一个接口,任务执行完毕后返回一个有效结果,可以用于获取任务执行的结果;
4、 Future:Future接口是一个异步结果接口,它可以获取Callable任务的执行结果;
5、FutureTask:FutureTask实现了Future接口,它也可以作为一个Runnable的实现来提交给Executor;
6、 Threadpool:Threadpool是一个抽象类,支持不同的线程池实现,主要实现了Executor接口;
7、 CyclicBarrier:CyclicBarrier是一个同步辅助类,它可以用于等待线程到达某个屏障后再继续执行;
8、 Semaphore:Semaphore是一个计数信号量,可以用于控制同时访问特定资源的线程数量;
9、 CountdownLatch:CountdownLatch也是一个同步辅助类,可以实现类似计数器的功能,能让线程等待其他线程完成之后再执行;
10、 Lock:Lock是一个接口,它可以替代锁对象,不同的实现提供不同的功能,如ReentrantLock、ReadWriteLock等;
11、 Atomic类:Atomic类提供一些原子操作,包