在main函数中调用t.start()方法启动一个线程,是不是主线程会暂停,把cpu的控制传给t
望高手解答,在先等

解决方案 »

  1.   

    主线程当然不会暂停,否则程序不就STOP了,多线程嘛
      

  2.   

    对,不会暂停,但在一个时刻只能有一个线程获得cpu的使用权吗,那是怎么样的一种情况
      

  3.   

    由java线程管理器自动管理线程
      

  4.   

    如果在调用t.start()的时候主线程(main函数)的时间片还没过期,主线程不会暂停。等到它的时间片过期后再暂停去执行t.start()。然后就是时间片的轮换了。
      

  5.   

    这个很难说吧。在单cpu机器上,或许你启动t线程时,main()线程已经到期了,这时将会运行t线程,也许是相反的情况。我觉的最好不要对线程作任何假设。
      

  6.   

    就是说cpu分配时间给每个线程,而且是按照时间片来划分的,但是我们永远也不知道线程何时会运行,
      

  7.   

    启动一个线程就相当于多一个排队的、至于它什么时候执行那是当CPU腾出以后遍历所有线程挑个优先级高的这个不用管。