线程状态
线程状态6种:
start();Runaune可运行 ,销毁
获取锁失败,进入blocked -阻塞,获取锁成功后
等待:获得锁wait(long) 等待,时间到或notify()
时间到sleep(),时间到回到可运行
代码演示:
getStatus 获取线程信息()
函数式编程
线程内源代码操作系统5种
正在执行cup叫执行,没分配到你叫就绪,(分配不到cup)Blocked
阻塞I/O ,blocked waiting timed waiting
线程池核心参数:
7个参数:
corePoolSize:核心线程数目
maximumPoolsize:最大线程数目
核心线程+急救线程
keppmum POOLsize 最大线程数目
unit 等待时间单位
针对救急线程
workQueue
阻塞线程
thread Factory 线程工厂
可以起名字
hadler 拒绝策
threadpool.submit();
mythread2
sleep vs wait
共同点:wait(),wait(long) 和sleep(long) 的效果都是让当前线程cpu使用权,进入
阻塞状态。
方法归属不同:
wait()sleep(long) ,wait(long), 的效果·都是让线程展示放弃cpu使用权,进入阻塞主抓昂泰,
方法归属不同
1.sleep (long )是thread 静态方法
wait(),wait(long) 都是object 成员方法,每个对象都有
醒来时机不同
1.执行sleep(long) 和wait(long) 的线程斗湖在等待相应毫秒后醒啦。
2.wait(long) 和wait()还可以被notify 唤醒,wait()如果不换型就一直等待下去。
3.他们都可以被打断唤醒
锁特性不同:
1.wait 方法必须获得wait 对象的锁,而sllep 则无需操作
2.wait 方法执行后灰释放对象锁,允许其他线程获得该对象
3.而sleep 如果在spnchronized代码块被执行,并不会释放锁
thread,对象为t1,
t1.sleep() 进入等待不会释放锁
t1.wait() 进入等待会释放锁
t1.statrt()
用俩个线程对比:
showstatus显示状态方法

浙公网安备 33010602011771号