Java: ThreadLocal


public class Zak {
  static ThreadLocal threadLocal = new ThreadLocal<>();

  public static void main(String[] args) throws InterruptedException{
    Thread t1 = new Thread(() -> {
      System.out.println(threadLocal.get());
      threadLocal.set(55);
      System.out.println(threadLocal.get());
    });
    Thread t2 = new Thread(new Runnable() {
      @Override
      public void run(){
        System.out.println(threadLocal.get());
        threadLocal.set(5);
        System.out.println(threadLocal.get());
      }
    });

    t1.start();
    t1.join();
    t2.start();

  }
}