java 中ThreadLocal实例分析从概念上理解,threadlocal使变量在多个线程中相互隔离实现线程安全,threadlocal包装的变量最终都专属于对应的每个线程,线程之间相互独立,用一个具体实现来说明:publi
java 中ThreadLocal实例分析
从概念上理解,threadlocal使变量在多个线程中相互隔离实现线程安全,threadlocal包装的变量最终都专属于对应的每个线程,线程之间相互独立,用一个具体实现来说明:
public interface Consumer { int consume();}public class ComsumeThread implements Runnable { private Consumer consumer; public ComsumeThread(Consumer consumer) { this.consumer = consumer; } @Override public void run() { for(int i=0;i<10;i++){ System.out.println(Thread.currentThread().getName()+" After Consume left:"+consumer.consume()); } }}public class ConsumeClientA implements Consumer { private static int leftNum = 30; @Override public int consume() { int orgLeftNum = leftNum; Random random = new Random(System.currentTimeMillis()); try { Thread.sleep(random.nextInt(3)); } catch (InterruptedException e) { e.printStackTrace(); } orgLeftNum = orgLeftNum -1; leftNum = orgLeftNum; return leftNum; } public static void main(String[] args){ Consumer consumer = new ConsumeClientA(); Thread thread1 = new Thread(new ComsumeThread(consumer)); Thread thread2 = new Thread(new ComsumeThread(consumer)); Thread thread3 = new Thread(new ComsumeThread(consumer)); thread1.start(); thread2.start(); thread3.start(); }}
--结束END--
本文标题: java 中ThreadLocal实例分析
本文链接: https://www.lsjlt.com/news/225501.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0