Java的多线程API
多线程
| API | 功能 |
|---|
| Thread.sleep() | 线程休眠 |
| Thread.currentThread().getName() | 当前线程名 |
| .start() | 开启线程 |
| Thread.activeCount() | 激活状态的线程数目 |
| .join() | 让主线程等待子线程运行结束 |
| .setDaemon() | 将该线程设置为守护线程 |
| .stop() | 强制中断线程 |
线程安全
| API | 功能 |
|---|
| synchronized | 给线程上同步锁 |
| .incrementAndGet() | 原子类AtomicInteger的自增运算 |
| .get() | 获取原子类AtomicInteger的值 |
线程池
| API | 功能 |
|---|
| Executors.newFixedThreadPool() | 创建线程池 |
| submit() | 提交Runnable或者Callable任务 |
| invokeAll() | 提交一组(集合)Callable任务,并全部执行 |
| .shutdown() | 当前线程执行完关闭 |
| .shutdownNow() | 强制中断 |
生产者消费者模型
| API | 功能 |
|---|
| .wait() | wait只能在synchronized代码段中调用,可以暂停当前线程,并将当前线程加入到该对象的等待队列(等待被唤醒或超时自动苏醒)。 |
| .notify() | 唤醒该对象等待队列中的一个线程 |
| notifyAll() | 唤醒该对象等待队列中的所有线程 |