TransmittableThreadLocal详解

1.简介 TransmittableThreadLocal 是Alibaba开源的、用于解决 “在使用线程池等会缓存线程的组件情况下传递ThreadLocal” 问题的 InheritableThreadLocal 扩展。若希望 TransmittableThreadLocal 在线程池与主线程间传递,需配合 TtlRunnable 和 TtlCallable 使用。 2.使用场景 下面是几个典型 … 继续阅读

线程本地变量:InheritableThreadLocal详解

1.为什么需要InheritableThreadLocal ThreadLocal 只能访问当前线程的变量,子线程无法访问父线程的变量,因此需要需要InheritableThreadLocal。 由于ThreadLocal设计之初就是为了绑定当前线程,如果希望当前线程的ThreadLocal能够被子线程使用,实现方式就会相当困难(需要用户自己在代码中进行访问|传递)。在此背景下,Inheritab … 继续阅读

Java线程间通信:wait和notify以及交替执行

看了网上很多讲线程间通信的文章,很多以交替执行给出例子;但是有些明显是有问题的,于是我自己也写了个例子。 线程间通信:wait 和notify wait()方法是指当前线程对对象的控制等待。对对象的控制权移交给其他线程 notify()方法是指通知某个正在等待当前线程控制权的线程,可以继续进行 代码示例 两个线程,线程A:1、3、5、7…97、99 ,线程B打印:2、4、6、8、10& … 继续阅读