用Java写一个多线程程序,如写四个线程,二个加1,二个对一变量减一,输出:
2017-04-10 18:05
357 查看
只要记得继承Runnable接口 和 start 启动即可
java
package test;
/**
* 加一线程与减一线程共同操作一个数
* 两个问题:
* 1、线程同步--synchronized
* 2、线程之间如何共享同一个j变量--内部类
* @author liuwei
*/
public class TMain {
int j=1;
public synchronized void inc(){
j++;
System.out.println(Thread.currentThread().getName()+"-inc:"+j);
}
class T1 implements Runnable{
public void run(){
inc();
}
}
public synchronized void dec(){
j--;
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
}
class T11 implements Runnable{
public void run(){
dec();
}
}
public static void main(String[] args) {
TMain t = new TMain();
T1 t1 =t.new T1();
T11 t11 =t.new T11();
for(int i=0;i<2;i++){
Thread thread=new Thread(t1);
thread.start();
Thread thread1=new Thread(t11);
thread1.start();
}
}
}
java
package test;
/**
* 加一线程与减一线程共同操作一个数
* 两个问题:
* 1、线程同步--synchronized
* 2、线程之间如何共享同一个j变量--内部类
* @author liuwei
*/
public class TMain {
int j=1;
public synchronized void inc(){
j++;
System.out.println(Thread.currentThread().getName()+"-inc:"+j);
}
class T1 implements Runnable{
public void run(){
inc();
}
}
public synchronized void dec(){
j--;
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
}
class T11 implements Runnable{
public void run(){
dec();
}
}
public static void main(String[] args) {
TMain t = new TMain();
T1 t1 =t.new T1();
T11 t11 =t.new T11();
for(int i=0;i<2;i++){
Thread thread=new Thread(t1);
thread.start();
Thread thread1=new Thread(t11);
thread1.start();
}
}
}
相关文章推荐
- 用Java写一个多线程程序,如写四个线程,二个加1,二个对一变量减一,输出:
- 用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
- 写一个程序三个线程分别输出A,B,C, 顺序输出ABC十次,用java实现
- java中多线程一个线程负责客户端读数据到队列另外一个线程负责从队列输出数据
- 面试必问!Java 多线程中两个线程交替执行,一个输出偶数,一个输出奇数
- 网易2015编程题(一用Java实现一个多线程程序将这个10000个数输出到5个不用文件中)
- [Java 09 多线程] 线程是指一个进程在执行过程中可以产生更小的程序单元
- [Java 09 多线程] 线程是指一个进程在执行过程中可以产生更小的程序单元
- Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数(方法二)
- 写四个线程,二个加1,二个对一个变量减一
- 用java写一个多线程程序,其中两个对一个变量加1,另两个对一个变量减1
- 写四个线程,二个加1,二个对一个变量减一
- java-四个线程修改一个变量
- Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数(方法一)
- Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数
- java多线程实战( 多个线程 修改同一个变量)
- java多线程--给点1,2,A,B四个线程,交叉输出数字和字母
- 迅雷笔试题 (JAVA多线程)启动三个线程,分别打印A B C,现在写一个程序 循环打印ABCABCABC
- 定义一个结构体变量(包括年、月、日),编写程序,要求输入年月日,程序能够计算并输出改日是本年中的第几天。注意闰年问题。(switch语句)
- [Java多线程]ABC三个线程顺序输出的问题