问答详情
源自:4-3 Java线程交互之互斥与同步:守恒的能量

争用条件问题

求大神解答:争用条件那块,定义是多线程共享同一资源的时候,会导致数据破坏,从而能量有时候不守恒,但是在main方法里最后启动线程为 t.start(); 这明明是单线程啊!不是多线程才会产生争用条件么?单线程怎么会出现争用条件破坏数据?  求大神解答

提问者:MR_Chang常先生 2016-12-14 21:33

个回答

  • Java攀登者
    2019-08-25 23:41:42

    创建了100个线程,每个线程还在各自循环能量转移的那段程序。也正是因为如此,结果输出时TansferTask_i也不是从0到1依次执行的。另外,TansferTask_1等等这些线程都在重复运行也可以说明这是个多线程。

  • qq_天涯一隅_03157305
    2016-12-15 16:43:12


    我认为是 for循环100次 的 Thread t=new Thread(task,"TransferThread_"+i);t.start(); 是多线程