JAVA线程操作常见面试题 包括不使用内部类对多个线程加减1
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(); }
}
最新文章
- EF实体框架数据操作基类(转)
- LintCode Minimum Path Sum
- iOS sqlite3 的基本使用(增 删 改 查)
- extJs学习基础5 理解mvvm的一个小案例
- navicat------------利用navicat查看两个数据库之间的差异
- Spark Streaming 事务处理彻底掌握
- Linux目录规范和含义(转)
- java.util.concurrent Class ThreadPoolExecutor
- [OM]Dropship SO(直发/直运订单)的流程
- Linux服务器常用性能监控命令汇总
- 孤陋寡闻又一遭:ReportEvent API函数(有微软Service官方例子为例)
- 在world2013中插入GB_2312
- android下获取无线wif信号、ssid、MAC等操作类
- Git学习之路(2)-安装GIt和创建版本库
- supergridcontrol记录
- jvm详情——6、堆大小设置简单说明
- CRM的组织架构
- javascript 中的后退和前进到上下一页
- Java读取Excel转换成JSON字符串进而转换成Java对象
- C++编译中的内存分配
热门文章
- TopSelf安装Windows服务提示:执行未经授权的操作。。
- sanic官方文档解析之logging和request Data
- 将异常(getStackTrace)转化成String
- spring cloud - config 属性自动刷新
- Flume 和 kafka的区别和对比
- (C)*p++和*++p区别
- svn服务器搭建与迁移
- ASP.NET Session and Forms Authentication and Session Fixation
- 皮尔逊相关系数的java实现
- HBase之七:事务和并发控制机制原理