多线程控制类:
ThreadLocal:
方法:
创建一个可以实现转账的类:
public class OneThreadLocal {
ThreadLocal<Integer> threadLocal=new ThreadLocal<Integer>(){
@Override
protected Integer initialValue() {
return 0;
}
};
public Integer get(){
return threadLocal.get();
}
public void set(int money){
threadLocal.set(threadLocal.get()+money);
}
}
创建Runnable的实现类:
public class RunnableImpl implements Runnable{
private OneThreadLocal oneThreadLocal=new OneThreadLocal();
private int money;
public RunnableImpl(int money){
this.money=money;
}
@Override
public void run() {
oneThreadLocal.set(money);
System.out.println("线程"+Thread.currentThread().getName()+"....."+oneThreadLocal.get());
}
}
测试类:
import one.RunnableImpl;
public class OneThreadLocalTest {
public static void main(String[] args) {
for (int i=0;i<10;i++){
RunnableImpl runnable=new RunnableImpl(10);
Thread thread=new Thread(runnable);
thread.start();
}
}
}
结果:
线程Thread-0.....10
线程Thread-2.....10
线程Thread-1.....10
线程Thread-3.....10
线程Thread-5.....10
线程Thread-6.....10
线程Thread-7.....10
线程Thread-8.....10
线程Thread-9.....10
线程Thread-4.....10
Process finished with exit code 0