问答详情
源自:2-3 Java线程-隋唐演义实战开发---演员简介

为什么actressThread与actress不是在休眠状态下才会运行

运行结果会出现这样的结果

. Thread登台演出:90

Ms. Runnable登台演出:91

Mr. Thread登台演出:91

Ms. Runnable登台演出:92

Mr. Thread登台演出:92

Ms. Runnable登台演出:93

Mr. Thread登台演出:93

Mr. Thread登台演出:94

Mr. Thread登台演出:95

Mr. Thread登台演出:96

Ms. Runnable登台演出:94

Mr. Thread登台演出:97

Ms. Runnable登台演出:95

Mr. Thread登台演出:98

Ms. Runnable登台演出:96

Mr. Thread登台演出:99

Ms. Runnable登台演出:97

Mr. Thread登台演出:100

Ms. Runnable登台演出:98

Ms. Runnable登台演出:99

Ms. Runnable登台演出:100

Mr. Thread的演出结束了!

Ms. Runnable的演出结束了!


提问者:WOshows 2016-12-09 21:02

个回答

  • 勤劳工作又不粘人的小妖精
    2016-12-10 12:45:41
    已采纳

    线程只要启动之后不让他等待,就会执行一次代码循环后结束。但其中的过程并不是连续的,代码中指令执行一个while循环后,会释放系统资源使得其他线程有机会竞争系统资源,倘若当前线程休眠(等待),就不会再对资源进行争用,自然也就不会执行下一个while了。隋唐演义舞台stage就是这样,由于舞台休眠,不去争用系统资源,所以舞台的run()方法中指令就停止在sleep那个点,而剩下的隋军和农民军线程是活跃的,自然只能看到他们两个争用资源了。