package jia;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
class G{
// public static Lock l=new ReentrantLock();
public static int s=0;
}
public class Test1{
public static void main(String[] args){
new ThreadC().start();
new ThreadB().start();
new ThreadA().start();
}
}
class ThreadA extends Thread{
public void run(){
for(int i=0;i<10;){
// G.l.lock();
if(G.s%3==0){
System.out.println(i+"A");
G.s++;
i++;
}
// G.l.unlock();
}
}
}
class ThreadB extends Thread{
public void run(){
for(int i=0;i<10;){
// G.l.lock();
if(G.s%3==1){
System.out.println(i+"B");
G.s++;
i++;
}
// G.l.unlock();
}
}
}
class ThreadC extends Thread{
public void run(){
for(int i=0;i<10;){
// G.l.lock();
if(G.s%3==2){
System.out.println(i+"C");
G.s++;
i++;
}
// G.l.unlock();
}
}
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
class G{
// public static Lock l=new ReentrantLock();
public static int s=0;
}
public class Test1{
public static void main(String[] args){
new ThreadC().start();
new ThreadB().start();
new ThreadA().start();
}
}
class ThreadA extends Thread{
public void run(){
for(int i=0;i<10;){
// G.l.lock();
if(G.s%3==0){
System.out.println(i+"A");
G.s++;
i++;
}
// G.l.unlock();
}
}
}
class ThreadB extends Thread{
public void run(){
for(int i=0;i<10;){
// G.l.lock();
if(G.s%3==1){
System.out.println(i+"B");
G.s++;
i++;
}
// G.l.unlock();
}
}
}
class ThreadC extends Thread{
public void run(){
for(int i=0;i<10;){
// G.l.lock();
if(G.s%3==2){
System.out.println(i+"C");
G.s++;
i++;
}
// G.l.unlock();
}
}
}
线程 a b c内加不加锁都一样
一般设置全局变量时,通过设置一个类,类内设置全局变量即可。