如果一个java线程被调用两次start()会有什么问题?

先说结论:
一个线程被调用两次start()会报错。

进一步解释为什么:
为什么要这样设计呢?java线程状态有6种,
java线程6种状态
分别是NEW:刚创建线程对象,初始状态,RUNNABLE:包含就绪和运行中,WAITING:等待状态,TIMED_WAITING:超时等待状态,BLOCKED:阻塞状态,TERMINATED:终止状态,我觉得这样设计是符合单一职责的设计原则,start()就是启动线程的方法,不存在重启线程的作用,如果最终现在处于休眠、阻塞或终止,想要重新回到RUNNABLE状态,那就使用对应的合适的方法,如终止状态的线程想回到RUNNABLE,可以再加一个restart()方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值