Learn about the use of threadlocal in Java Multi-threading.
Simple example of threadlocal, simple use of threadlocal
Packagecom.linux.huhx.thread2;ImportJava.util.Random; Public classThreadlocalertest {Private StaticThreadlocal<integer> ThreadLocal =NewThreadlocal<>(); Public Static voidMain (string[] args) { for(inti = 0; I < 2;i++) { NewThread (NewRunnable () {@Override Public voidrun () {intRandomvalue =NewRandom (). Nextint (9999); System.out.println (Thread.CurrentThread (). GetName ()+ ", Value:" +randomvalue); Threadlocal.set (Randomvalue); NewGeta (). get (); NewGetb (). get (); }}). Start (); } } Private Static classGeta { Public voidget () {intValue =Threadlocal.get (); System.out.println ("A from" + Thread.CurrentThread (). GetName () + ", get Data" +value); } } Private Static classGETB { Public voidget () {intValue =Threadlocal.get (); System.out.println ("A from" + Thread.CurrentThread (). GetName () + ", get Data" +value); } }}
The results of the operation are as follows:
thread-1, Value:2667Thread-0, Value:9611A fromthread-0,GetData9611A fromthread-1,GetData2667A fromthread-0,GetData9611A fromthread-1,GetData2667
Friendship Link
Java Foundation---->java Multi-threaded use (vii)