首页 > 其他分享 >子线程中获取父线程的数据(线程池下失效)

子线程中获取父线程的数据(线程池下失效)

时间:2023-04-06 14:22:05浏览次数:30  
标签:Thread currentThread 池下 System 线程 失效 local out

子线程中获取父线程的数据

    static InheritableThreadLocal<String> local = new InheritableThreadLocal<>();

    public static void main(String[] args) {
        local.set("123");
        System.out.println(Thread.currentThread().getName() + " ======= " + local.get());
        try {
            Thread thread = new Thread(()->{
                System.out.println(Thread.currentThread().getName() + " ======= " + local.get());
                local.set("456");
                System.out.println(Thread.currentThread().getName() + " ======= " + local.get());
            },"child");
            thread.start();
            thread.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println(Thread.currentThread().getName() + " ======= " + local.get());
    }

 

标签:Thread,currentThread,池下,System,线程,失效,local,out
From: https://www.cnblogs.com/yexuba/p/17292605.html

相关文章

  • 线程的常用方法
    1、setName设置线程名称,使之与参数name相同2、getName返回该线程名称3、start使该线程开始执行4、run调用线程对象的run方法5、setPriority更改线程的优先级6、getPriority获取线程的优先级7、sleep通过毫秒来进行线程休眠8、interrupt中断线程......
  • 进程、线程退出方式
    一、进程退出有8种方式使进程终止(termination),其中5种为正常终止:(1)从main返回。(2)调用exit。(3)调用_exit或_Exit。(4)最后一个线程从其启动例程返回。(5)最后一个线程调用pthread_exit。异常终止有3种方式:(6)调用abort。(7)接到一个信号并终止。(8)最后一个线程对取消请求作出响应。......
  • @JsonIgnore 失效没起作用及 @JSONField(serialize = false)
    项目中需要对接口返回的某一个字段进行屏蔽,返回给前端响应的时候,不显示某个字段。第一时间想到在实体类屏蔽的属性字段上添加@JsonIgnore注解,但添加之后并没有起作用。在网上搜索了下,使用@JSONField(serialize=false)注解,便可以在返回响应参数体的时候去除某个字段。......
  • 线程相关知识
    线程的概念线程的概念线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程一个进程中是可以有多个线程多个线程共享同一个进程的所有资源,每个线程参与操作系统的统一调度可以简单理解成进程=内存资源+主线程+子线+.......1.2线程与进......
  • concurrentHashMap为什么是线程安全的?
    ConcurrentHashMap是线程安全的。它可以被多个线程同时使用而不需要额外的同步措施(比如使用synchronized)来保证线程安全。这是因为ConcurrentHashMap内部使用了一些非常高效的机制来保证线程安全,包括:分段锁:ConcurrentHashMap将数据分成多个段,每个段都有自己的锁。这样,在多线程......
  • IOS多线程之NSOperation(2)
    IOS多线程之NSOperation(2)最大并发数openvarmaxConcurrentOperationCount:Int并发数就是同时执行的任务数。比如,同时开3个线程执行3个任务,并发数就是3。但是,并发数是3,并不代表开启的线程数就是3,也有可能是4个或者5个。因为线程有可能在等待,进入了就绪状态。执行的过程:......
  • IOS多线程之NSOperation(3)
    IOS多线程之NSOperation(3)操作优先级和服务质量可以通过QueuePriority属性来设置operation在队列中的执行优先级publicenumQueuePriority:Int,@uncheckedSendable{caseveryLow=-8caselow=-4casenormal=0casehigh=4caseveryHigh......
  • Java并发和多线程4:使用通用同步工具CountDownLatch实现线程等待
    CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 用给定的计数初始化CountDownLatch。由于调用了countDown()方法,所以在当前计数到达零之前,await方法会一直受阻塞。之后,会释放所有等待的线程,awai......
  • IOS多线程之NSOperation(1)
    IOS多线程之NSOperation(1)NSOperation是OC语言中基于GCD的面向对象的封装;提供了一些用GCD不好实现的功能;线程的生命周期由系统自动管理。NSOperation需要和NSOperationQueue配合使用来实现多线程方案。单独使用NSOperation的话,它是属于同步操作,并不具备开......
  • Java | 一分钟掌握异步编程 | 3 - 线程异步
     作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言前两篇介绍了理论,这篇讲具体的实现方式。前言都是废话,直接上车~简单粗暴创建一个对象,继承Thread类,实现run函数,这个线程异步就做完了:/***@authormars酱*/publ......