class ManyThreads2 {
private int j = 0;
public synchronized void inc() {
j++;
System.out.println(Thread.currentThread().getName() + "inc" + j); }
public synchronized void dec() {
j--;
System.out.println(Thread.currentThread().getName() + "dec" + j);
}}
public class MyTest extends Thread {
private ManyThreads2 many = new ManyThreads2();
public void run()
{ many.inc();
many.dec();
many.inc();
many.dec();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MyTest myTest = new MyTest();
myTest.start(); }
}

分别10次打印 输出A B C

public class MyTest extends Thread {
char cha;
private int id;
int num=0;
static int count=0;
public MyTest(int id, char cha)
{ this.id=id;
this.cha=cha;
}

public synchronized void run()
{ while(num<10){
if(count%3==id){
System.out.println(id);
count++;
num++;
}
} }

public static void main(String[] args) {
// TODO Auto-generated method stub
new MyTest(1,'A').start();
new MyTest(2,'B').start();
new MyTest(3,'C').start(); }
}

最新文章

  1. EF实体框架数据操作基类(转)
  2. LintCode Minimum Path Sum
  3. iOS sqlite3 的基本使用(增 删 改 查)
  4. extJs学习基础5 理解mvvm的一个小案例
  5. navicat------------利用navicat查看两个数据库之间的差异
  6. Spark Streaming 事务处理彻底掌握
  7. Linux目录规范和含义(转)
  8. java.util.concurrent Class ThreadPoolExecutor
  9. [OM]Dropship SO(直发/直运订单)的流程
  10. Linux服务器常用性能监控命令汇总
  11. 孤陋寡闻又一遭:ReportEvent API函数(有微软Service官方例子为例)
  12. 在world2013中插入GB_2312
  13. android下获取无线wif信号、ssid、MAC等操作类
  14. Git学习之路(2)-安装GIt和创建版本库
  15. supergridcontrol记录
  16. jvm详情——6、堆大小设置简单说明
  17. CRM的组织架构
  18. javascript 中的后退和前进到上下一页
  19. Java读取Excel转换成JSON字符串进而转换成Java对象
  20. C++编译中的内存分配

热门文章

  1. TopSelf安装Windows服务提示:执行未经授权的操作。。
  2. sanic官方文档解析之logging和request Data
  3. 将异常(getStackTrace)转化成String
  4. spring cloud - config 属性自动刷新
  5. Flume 和 kafka的区别和对比
  6. (C)*p++和*++p区别
  7. svn服务器搭建与迁移
  8. ASP.NET Session and Forms Authentication and Session Fixation
  9. 皮尔逊相关系数的java实现
  10. HBase之七:事务和并发控制机制原理