ThreadLocal、TimerTask+Timer(2021-12-16)

package demo;

class Message{
    private String info;
    
    public void setInfo(String info) {
        this.info = info;
    }
    public String getInfo() {
        return info;
    }
}

class Channel{      //消息的发送通道
    private Channel() {};
    //ThreadLocal类,通过给每个线程分配自己的数据空间,可以避免并发线程使用同一资源时发生覆盖
    private static final ThreadLocal<Message> THREADLOCAL = new ThreadLocal<Message>(); 
    
    public static void setMessage(Message msg) {
        THREADLOCAL.set(msg);
    }
    public static void send() {
        System.out.println("["+Thread.currentThread().getName()+"]"+THREADLOCAL.get().getInfo());
    }
}

public class Demo {

    public static void main(String[] args) {
        new Thread(()->{
            Message msg =new Message();
            msg.setInfo("A的消息");
            Channel.setMessage(msg);
            Channel.send();
        },"线程A").start();
        
        new Thread(()->{
            Message msg =new Message();
            msg.setInfo("B的消息");
            Channel.setMessage(msg);
            Channel.send();
        },"线程B").start();
        
        new Thread(()->{
            Message msg =new Message();
            msg.setInfo("C的消息");
            Channel.setMessage(msg);
            Channel.send();
        },"线程C").start();
        
    }

}

图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是2021年初的计划,仔细看来,实现的不多。 1。继续运动的习惯,坚持锻炼,坚持跳绳。(没有坚持,只是运动了一阵...
    大宝和小宝的妈妈阅读 329评论 7 11
  • 和闺女聊天时,她说我在对她说教!所以我开心 1.她信任我,说出是真实感受(环境换框法) 2.幸好她在提醒我的沟通模...
    cd1851c0d34d阅读 119评论 0 0
  • 今天是什么日子晨间日记第二天 起床:5:40 就寝:昨晚21:60 天气:晴朗 心情:愉快 纪念日: 考察日 任务...
    董伯懿阅读 186评论 0 1
  • (一)命运让我来到你身边 刚刚,我的麻麻突然把我带出“房间”,开始准备给我修理毛发。说那是“房间”是因为我从另一个...
    珺小酱阅读 123评论 0 0
  • 1.感恩陈处对于女儿的事,替我想办法,先找个民企落角; 2.感恩冯在百忙中还给我打来电话,告诉我近期深化改革情况,...
    岩石头阅读 168评论 0 0