中易网

public class Test2 {public static void main(Stri

答案:1  悬赏:0  
解决时间 2021-01-10 21:53
  • 提问者网友:相思似海深
  • 2021-01-10 12:54
public class Test2 {public static void main(Stri
最佳答案
  • 二级知识专家网友:末日狂欢
  • 2021-01-10 13:12
多线程运行会轮流得到cpu执行权,完全随机,thread0先打印了100,然后thread1抢到执行权,获取了99,执行了num--,还没来得及打印出来,cpu又被thread0抢到,打印完98,97。这时候thread1又抢到cpu,打印了99追问感觉有点道理。大哥,问一下。我开启了4个线程,4个线程是随时随地的都在抢资格和执行权吗?例如:0抢到了资格和执行权,进来了,立马的随机线程1,也进去了,是这样的吗?追答四个线程随机切换,,你可以使用同步代码块来保证多线程中数据不出乱子追问随机切换,那不就成了单线程了吗?多线程这里我好晕啊。追答打比方说你的电脑就是一个多线程的,你可以开QQ又可以开迅雷。聊天的同时还能下载文件,CPU在这两个程序之间快速的切换。给用户的感觉就是这两个程序同时运行。如果是单线程的话,你开了QQ就不能开迅雷,开了迅雷就不能开QQ追问懂了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息