线程状态
线程状态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显示状态方法
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析