快速业务通道

[JAVA100例]065、线程同步 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21

[JAVA100例]065、线程同步

时间:2011-01-09

/** * <p>Title: 线程同步</p> * <p>Description: 通过使用同步锁实现对共享数据的操作</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Filename: SyThreadDemo.java</p> * @version 1.0 */ /** *<br>类说明:主程序 *<br>功能描述:构造两个线程,并启动它们 */ public class SyThreadDemo { public static void main (String [] args) {  trade ft = new trade ();  addThread tt1 = new addThread (ft, "add");  decThread tt2 = new decThread (ft, "dec");  tt1.start ();  tt2.start (); } } /** *<br>类说明:同步类 *<br>功能描述:保存共享数据, */ class trade {  private String transName;  private double amount; /** *<br>方法说明:更新数据 *<br>输入参数:String transName 操作名称 *<br>输入参数:double amount 资金数量 *<br>返回类型: */  synchronized void update (String transName, double amount)  {   this.transName = transName;   this.amount = amount;   System.out.println (this.transName + " " + this.amount);  } } /** *<br>类说明:添加资金 *<br>功能描述:单线程,调用trade.update()方法,修改数据 */ class addThread extends Thread {  private trade ft;  addThread (trade ft, String name)  {   super (name);   this.ft = ft;  }  public void run ()  {   for (int i = 0; i < 10; i++)    ft.update ("add", 2000.0); } } /** *<br>类说明:减少资金 *<br>功能描述:单线程,调用trade.update()方法,修改数据 */ class decThread extends Thread {  private trade fd;  decThread (trade fd, String name)  {   super (name);   this.fd = fd;  } /** *<br>方法说明:线程主体 *<br>输入参数: *<br>返回类型: */  public void run ()  {   for (int i = 0; i < 10; i++)    fd.update ("dec", -2000.0); } }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号