今日小补充
呜呜加油。
1.线程池
(1)自定义一个类,去继承Thread类,重写run方法
(2)自定义一个类,去实现Runnable接口,重写run方法
(3)自定义一个类,实现Callable接口,重写call方法
corePoolSize = > 该线程池中核心线程数最大值
maximumPoolSize = > 该线程池中线程总数的最大值
keepAliveTime = > 该线程池中非核心线程闲置超时时长
unit = > (时间单位)
workQueue = >( Blocking:阻塞的,queue:队列)该线程池中的任务队列:维护着等待执行的Runnable对象。当所有的核心线程都在干活时,新添加的任务会被添加到这个队列中等待处理,如果队列满了,则新建非核心线程执行任务
threadFactory = > 创建线程的方式
handler = > 这个主要是用来抛异常的
A:newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。
B:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
C:newScheduledThreadPool 创建一个定长任务线程池,支持定时及周期性任务执行。
D:newSingleThreadExecutor 创建一个单线程的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。
2.object:
protected Object clone() 创建并返回此对象的一个副本。
boolean equals(Object obj) 指示某个其他对象是否与此对象“相等”。
protected void finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
Class<? extendsObject> getClass() 返回一个对象的运行时类。
int hashCode() 返回该对象的哈希码值。
void notify() 唤醒在此对象监视器上等待的单个线程。
void notifyAll() 唤醒在此对象监视器上等待的所有线程。
String toString() 返回该对象的字符串表示。
void wait() 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。
void wait(long timeout) 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量。
void wait(long timeout, int nanos) 导致当前的线程等待,直到其他线程调用此对象的 notify()