[JAVA100例]065、线程同步

2016-02-19 17:03 0 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享[JAVA100例]065、线程同步的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - 编程语言 】

  

/**
 * pTitle: 线程同步/p
 * pDescription: 通过使用同步锁实现对共享数据的操作/p
 * pCopyright: Copyright (c) 2003/p
 * pFilename: 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);
}
}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1614022.html

延伸阅读
public class flowDemo{ public static void main(String[] arges){ int iPara1,iPara2,iEnd; if(arges.length!=3) { System.out.println("USE :java flowDome parameter1 parameter2 circle"); System.out.println("parameter1 : 比较条件1,数字类型"); System.out.println...
import java.io.*; /**  * pTitle: 读取随机文件/p  * pDescription: 演示使用RandomAccessFile类读取文件。/p  * pCopyright: Copyright (c) 2003/p  * pFilename: RandFile.java/p  * @version 1.0  */ public class RandFile{ /**  *br方法说明:主方法  *br输入参数:  *br返回类型: &...
import java.awt.*; import java.awt.event.*; import javax.swing.*; /**  * pTitle: 检查盒演示/p  * pDescription: 选择不同的选择框显示不同的图片/p  * pCopyright: Copyright (c) 2003/p  * pFilename: CheckBoxDemo.java/p  * @version 1.0  */ public class CheckBoxDemo extends JPanel ...
/**  * pTitle: 目录操作/p  * pDescription: 演示列目录下的文件,和移动一个目录/p  * pCopyright: Copyright (c) 2003/p  * pFilename: Dir.java/p  * @version 1.0  */ import java.io.*; public class Dir{  /**  *br方法说明:实现目录列表  *br输入参数:  *br返回类型:  ...
import java.awt.*; import java.applet.*; /**  * pTitle: 带阴影的文字/p  * pDescription: 使用Applet和Graphics,实现一个文字的移动广告。/p  * pCopyright: Copyright (c) 2003/p  * pFilename: ShadowText.java/p  * @version 1.0  */ public class ShadowText extends Applet implements Runnable ...

经验教程

777

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部