java线程睡眠问题

发布网友

我来回答

4个回答

热心网友

首先这个睡眠是不一定的,a是固定睡眠的,但是不一定a睡完了b就立刻执行.这存在着线程抢时间片的问题,是随机的.而这个i呢,你定义好了是没错,但是每次拿来i+1的时候i都是一个新的,也就是说你的i+1只是当前方法中执行了,并没有去影响到成员变量i.

热心网友

因为线程执行的时间长短是由CPU分配的,你让他睡1000,CPU可能给了他1040的时间,所以会输出abb,你把int i=0;放在run()的循环体里面

热心网友

JAVA线程是抢占式的,谁能抢到CPU谁就先做,如果要达到你说的效果需要特殊处理

热心网友

是由JVM调度的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com