黑马程序员技术交流社区

标题: 多线程同步问题 [打印本页]

作者: yninggis    时间: 2014-11-25 00:45
标题: 多线程同步问题
目前学习的都是单核情况下的多线程同步问题,如果在多核情况下,会有什么不同?在做多线程同步控制时,需要做出哪些调整?
作者: FlyFish    时间: 2014-11-25 10:14
本帖最后由 FlyFish 于 2014-11-25 10:36 编辑

个人见解,应该不需要调整
作者: Afridoce    时间: 2014-11-25 10:51
多核情况下应该是多个单核情况吧。。。
作者: relice    时间: 2014-11-25 11:57
本帖最后由 relice 于 2014-11-25 12:00 编辑

//下面的是单核的所以可以看到输出时的区别效果
  1. class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for(int x=0; x<=60; x++)
  6.                 {
  7.                         System.out.println("Main run"+x);
  8.                 }
  9.                 new Sub().start();
  10.         }        
  11. }
  12. class Sub extends Thread
  13. {
  14.         public void run()
  15.                 {
  16.                         for(int x=0; x<=20; x++)
  17.                         System.out.println("Sub0 run"+x);
  18.                 }
  19. }
复制代码
//由于本机是2核的,因此至少要建立3条线程才可以看到效果
  1. class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for(int x=0; x<=60; x++)
  6.                 {
  7.                         System.out.println("Main run"+x);
  8.                 }
  9.                 new Sub().start();
  10.                 new Sub2().start();
  11.                 new Sub3().start();
  12.         }       
  13. }
  14. class Sub extends Thread
  15. {
  16.         public void run()
  17.                 {
  18.                         for(int x=0; x<=20; x++)
  19.                         System.out.println("Sub0 run"+x);
  20.                 }
  21. }
  22. class Sub2 extends Thread
  23. {
  24.         public void run()
  25.                 {
  26.                         for(int x=0; x<=20; x++)
  27.                         System.out.println("Sub0 run"+x);
  28.                 }
  29. }
  30. class Sub3 extends Thread
  31. {
  32.         public void run()
  33.                 {
  34.                         for(int x=0; x<=20; x++)
  35.                         System.out.println("Sub0 run"+x);
  36.                 }
  37. }
复制代码





作者: play1369    时间: 2014-11-25 14:26
relice 发表于 2014-11-25 11:57
//下面的是单核的所以可以看到输出时的区别效果
//由于本机是2核的,因此至少要建立3条线程才可以看到效果

为什么要定义Sub2 Sub3类




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2