线程
获取对象 | 说明 |
public Thread(String name) | 可以为当前线程指定名称 |
public Thread(Runnable target)
| 封装Runnable对象成为线程对象
|
public Thread (Runnable target ,String name ) | 封装Runnable对象成为线程对象,并指定线程名称 |
Thread类方法
方法 | 说明 |
String getName() | 获取当前线程的名称,默认线程名称是Thread-索引 |
void setName(String name)
| 将此线程的名称更改为指定的名称,通过构造器也可以设置线程名称 |
public static Thread currentThread() | 返回对当前正在执行的线程对象的引用
|
public static void sleep (long time) | 让当前线程休眠指定的时间后再继续执行,单位为毫秒 |
public void run()
| 线程任务方法
|
public void start()
| 线程启动方法
|
Lock类
获取对象 | 说明 |
public ReentrantLock() | 获得Lock锁的实现类对象
|
方法 | 说明 |
void lock() | 获得锁
|
void unlock()
| 释放锁
|
Object类等待唤醒
方法 | 说明 |
void wait() | 让当前线程等待并释放所占锁,直到另一个线程调用notify()方法或 notifyAll()方法 |
void notify()
| 唤醒正在等待的单个线程
|
void notifyAll()
| 唤醒正在等待的所有线程
|
ExecutorService的常用方法
方法 | 说明 |
void execute(Runnable command) | 执行任务/命令,没有返回值,一般用来执行 Runnable 任务 |
Future<T> submit (Callable<T> task) | 执行任务,返回未来任务对象获取线程结果,一般拿来执行 Callable 任务 |
void shutdown()
| 等任务执行完毕后关闭线程池
|
List<Runnable> shutdownNow()
| 立刻关闭,停止正在执行的任务,并返回队列中未执行的任务 |
Executors得到线程池对象的常用方法
方法 | 说明 |
public static ExecutorService newCachedThreadPool() | 线程数量随着任务增加而增加,如果线程任务执行完毕且空闲了一段时间则会被回收掉 |
public static ExecutorService newFixedThreadPool(int nThreads)
| 创建固定线程数量的线程池,如果某个线程因为执行异常而结束,那么线程池会补充一个新线程替代它 |
public static ExecutorService newSingleThreadExecutor ()
| 创建只有一个线程的线程池对象,如果该线程出现异常而结束,那么线程池会补充一个新线程 |
public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize) | 创建一个线程池,可以实现在给定的延迟后运行任务,或者定期执行任务 |