实现方式1
package com.javabase;
public class Test3 {
static int a=1;
public static void main(String[] args) {
Thread t1=new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<100;i++){
a++;
System.out.println(Thread.currentThread().getName()+"--"+a);
}
}
});
Thread t2=new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<50;i++){
a--;
System.out.println(Thread.currentThread().getName()+"--"+a);
}
}
});
t1.start();
t2.start();
}
}
实现方式2 需要四个类
User
package com.javabase;
public class User {
public int age;
}
TestThread1
package com.javabase;
public class TestThread1 implements Runnable {
User a;
public TestThread1(User b){
this.a=b;
}
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<100;i++){
this.a.age++;
System.out.println(Thread.currentThread().getName()+"--"+this.a.age);
}
}
}
TestThread2
package com.javabase;
public class TestThread2 implements Runnable {
User a;
public TestThread2(User b){
this.a=b;
}
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<50;i++){
this.a.age--;
System.out.println(Thread.currentThread().getName()+"--"+this.a.age);
}
}
}
测试 Test1
package com.javabase;
public class Test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
User u=new User();
u.age=1;
TestThread1 t1=new TestThread1(u);
TestThread2 t2=new TestThread2(u);
Thread tt1=new Thread(t1);
tt1.setName("t1");
Thread tt2=new Thread(t2);
tt2.setName("t2");
tt1.start();
tt2.start();
}
}