JAva synchronized制御単一変数の自己増加
1554 ワード
簡単な乗車券販売が可能です
スレッドプールを使用して最適化し、頻繁にスレッドを作成する問題を解決できます.
スレッドプールを使用して最適化し、頻繁にスレッドを作成する問題を解決できます.
/**
* @Title: ThreadTest3.java
* @Package com.lss.wy
* @Description: TODO
* @author Licon
* @date 2018 8 16
* @version V1.0
*/
package com.lss.wy;
/**
* @ClassName: ThreadTest3
* @Description: TODO
* @author Licon
* @date 2018 8 16
*
*/
public class ThreadTest3 extends Thread {
private static int i=0;
private static Object obj = new Object();
public ThreadTest3() {
}
public ThreadTest3(String no) {
super(no);
}
/* (!Javadoc)
*
*
* @see java.lang.Thread#run()
*/
@Override
public void run() {
String name = Thread.currentThread().getName();
for (; i < 20000; i++) {
synchronized (obj) {
if(i==20000) {
return;
}
System.out.println(name+":"+i);
}
}
}
public static void main(String[] args) {
// start
ThreadTest3 t1 = new ThreadTest3("Thread-1");
t1.start();
ThreadTest3 t2 = new ThreadTest3("Thread-2");
t2.start();
ThreadTest3 t3 = new ThreadTest3("Thread-3");
t3.start();
ThreadTest3 t4 = new ThreadTest3("Thread-4");
t4.start();
ThreadTest3 t5 = new ThreadTest3("Thread-5");
t5.start();
ThreadTest3 t6 = new ThreadTest3("Thread-6");
t6.start();
ThreadTest3 t7 = new ThreadTest3("Thread-7");
t7.start();
ThreadTest3 t8 = new ThreadTest3("Thread-8");
t8.start();
}
}