A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yninggis 中级黑马   /  2014-11-25 00:45  /  943 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

目前学习的都是单核情况下的多线程同步问题,如果在多核情况下,会有什么不同?在做多线程同步控制时,需要做出哪些调整?

4 个回复

倒序浏览
本帖最后由 FlyFish 于 2014-11-25 10:36 编辑

个人见解,应该不需要调整
回复 使用道具 举报
多核情况下应该是多个单核情况吧。。。
回复 使用道具 举报
本帖最后由 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. }
复制代码




回复 使用道具 举报
relice 发表于 2014-11-25 11:57
//下面的是单核的所以可以看到输出时的区别效果
//由于本机是2核的,因此至少要建立3条线程才可以看到效果

为什么要定义Sub2 Sub3类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马