1.threadLocal的特性,在一个接口中,threadlocal初始值为0,请求访问一次,+1,问,访问一千次该接口,threadlocal的值是多少?
ThreadLocal处理线程间共享数据
该类提供了线程局部 (thread-local) 变量。访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。类似于map集合,只是这里不需要指定key值,这里的key值默认为当前线程。
ThreadLocal<T> threadLocal = new ThreadLocal<T>();
threadLocal.set(new T());
T t = threadLocal.get();
2.事务的级别,及使用
3.并发。一个主线程下有十个子线程,怎么实现让子线程运行完后,主线程从休眠中开始启动
CyclicBarrier线程同步工具
CyclicBarrier可以使不同的线程彼此等待,等这些不同的线程都执行完了,再执行下面的程序。一般用于主任务执行需要所有的子任务执行完毕的功能需求中。
ExecutorService service = Executors.newCachedThreadPool();
CyclicBarrier cb = new CyclicBarrier(2);//设置2个等待线程,2个线程都执行完,再执行后面的程序。
new Runnable(){
public void run(){ runnable1; cb.await(); runnable2; cb.await(); };
4。乐观锁
网友评论