发布网友
共4个回答
热心网友
首先这个睡眠是不一定的,a是固定睡眠的,但是不一定a睡完了b就立刻执行.这存在着线程抢时间片的问题,是随机的.而这个i呢,你定义好了是没错,但是每次拿来i+1的时候i都是一个新的,也就是说你的i+1只是当前方法中执行了,并没有去影响到成员变量i.
热心网友
因为线程执行的时间长短是由CPU分配的,你让他睡1000,CPU可能给了他1040的时间,所以会输出abb,你把int i=0;放在run()的循环体里面
热心网友
JAVA线程是抢占式的,谁能抢到CPU谁就先做,如果要达到你说的效果需要特殊处理
热心网友
是由JVM调度的