Java多线程学习
上一篇 /
下一篇 2017-05-25 17:00:51
/ 个人分类:Java
同事最近在写个小tool,用到
多线程,我顺便也学习一下多线程。
设计4个线程,其中两个线程完成每次对j增加1,另外两个线程完成对j减少1的。
下面是使用内部类实现线程,对j增减的时候没有考虑顺序问题。
public class ThreadTest{
private j;
public static void main(String args[]){
//声明一个ThreadTest本类对象并实例化
ThreadTest tt=new ThreadTest();
//声明一个增加的对象
Inc inc=tt.new Inc();
//声明一个减少的对象
Dec dec=tt.new Dec();
//循环开启线程
for(int i=0;i<2;i++){
Thread t=new Thread(inc);
t.start();//线程开启
t=new Thread(dec);
t.start();
}
private synchronized void inc(){
j++;
System.out.println(Thread.currentThread().getName()+"-inc:"+j);//打印当前正在运行的执行增加的线程
}
private synchronized void inc(){
j--;
System.out.println(Thread.currentThread().getName()+"-dec:"+j);//打印当前正在运行的执行减的线程
}
class Inc implements Runnable{
public void run(){
for(int i=0;i<100;i++)
inc();
}
}
class Dec implements Runnable{
public void run(){
for(int i=0;i<100;i++)
dec();
}
}
}
}
收藏
举报
TAG:
java
多线程