当我执行此代码时,我得到许多不同的输出。
这是预期的。该顺序未定义,并且随着线程开始运行并由OS进行线程调度而受竞争条件的影响。
我们编写多线程应用程序的全部原因是线程是异步的,并且出于速度原因而在单独的处理器中运行。为了保证特定的输出顺序,您可以在带有锁之类的线程之间进行同步,但是这样会降低性能,并且减少了派生线程的整个原因。

当我执行此代码时,我得到许多不同的输出。
这是预期的。该顺序未定义,并且随着线程开始运行并由OS进行线程调度而受竞争条件的影响。
我们编写多线程应用程序的全部原因是线程是异步的,并且出于速度原因而在单独的处理器中运行。为了保证特定的输出顺序,您可以在带有锁之类的线程之间进行同步,但是这样会降低性能,并且减少了派生线程的整个原因。