当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

对Java多线程技术中全部办法的具体解析[Java编程]

赞助商链接



  本文“对Java多线程技术中全部办法的具体解析[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

1、run()和start()

这两个办法应当都对比熟习,把需求并行处理的代码放在run()办法中,start()办法启动线程将自动调用 run()办法,这是由Java的内存机制规定的.并且run()办法必须是public拜候权限,返回值范例为void.

2、关键字Synchronized

这个关键字用于保护同享数据,当然前提是要分清哪些数据是同享数据.每个对象都有一个锁标志,当一个线程拜候该对象时,被Synchronized修饰的数据将被“上锁”,禁止其他线程拜候.当前线程拜候完这部份数据后释放锁标志,其他线程便可以拜候了.

 public ThreadTest implements Runnable
  {
  public synchronized void run(){
  for(int i=0;i<10;i++)
  {
  System.out.println(" " + i);
  }
  }
  public static void main(String[] args)
  {
  Runnable r1 = new ThreadTest();
  Runnable r2 = new ThreadTest();
  Thread t1 = new Thread(r1);
  Thread t2 = new Thread(r2);
  t1.start();
  t2.start();
  }
  }

以上这段程序中的 i 变量并非同享数据,也就是这里的Synchronized关键字并未起作用.因为t1,t2两个线程是两个对象(r1,r2)的线程.差别的对象其数据是差别的,所以r1和r2两个对象的i变量是并非同享数据.

当把代码改成以下:Synchronized关键字才会起作用

Runnable r = new ThreadTest();

Thread t1 = new Thread(r);

Thread t2 = new Thread(r);

t1.start();

t2.start();


  以上是“对Java多线程技术中全部办法的具体解析[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 对Java多线程技术中全部办法的具体解析
  • <b>对Java多态性综合利用的根究</b>
  • <b>对Java嵌套类的评论</b>
  • 对Java程序多态性支持的改良
  • <b>经验分享:对Java中的线程感触</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .