java 多线程 setPriority的坑
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); } } }