刚找一个简单的现成的例子,调试了一下,不明白为什么线程为什么这么走。走一步method1再走一步method2.结果是这个样子呢

解决方案 »

  1.   

    如果你的cpu是多核的,那么两个线程会同时走,每个线程在一个cpu上,
      

  2.   

    哦哦 那线程的执行 是在main函数之后执行吗?不是在thread1.start()之后立马执行吗?
      

  3.   

    一个程序被运行的时候,会创建一个主线程,来运行Main方法,当Main方法调用thread1.start的时候会生成一个新的线程来执行Method1,如果有多个核心,那么每个线程会占用一个cpu核运行,多个线程就在物理上同时运行,
      

  4.   

    你把 Sleep(1000) 改成 Sleep(new Random().Next(1000)) 试试!
      

  5.   

    “走一步method1再走一步method2”,那是因为你就是那样写的(以同样的休眠间隔而自欺欺人地“同步”)。