package thread;
import java.util.concurrent.atomic.AtomicInteger;
/**
*设计4个线程、实现2个线程对i加一,2个线程对i进行减一
* setPriority可以设置线程优先级 但是不是完全能保证一个进程总在一个进程之前
*/
public class Thread6Test {
private static AtomicInteger atomicInteger=new AtomicInteger(0);
private static AtomicInteger atomicIntegerSum=new AtomicInteger(0);
private static class ThreadAdd extends Thread
{
@Override
public void run() {
atomicInteger.getAndIncrement();
System.out.println(atomicInteger.get());
atomicIntegerSum.getAndAdd(atomicInteger.get());
System.out.println(atomicIntegerSum.get());
}
}
private static class ThreadRed extends Thread
{
@Override
public void run() {
atomicInteger.getAndDecrement();
System.out.println(atomicInteger.get());
atomicIntegerSum.getAndAdd(atomicInteger.get());
System.out.println(atomicIntegerSum.get());
}
}
public static void main(String[] args)
{
for(int i = 0; i < 200; i++) {
ThreadAdd thread1 = new ThreadAdd();
thread1.start();
thread1.setPriority(10);
ThreadRed thread2 = new ThreadRed();
thread2.start();
thread1.setPriority(1);
}
}
}