Thread代替引用传递,利用ThreadLocal来为每一个线程保留自己的空间

来源:互联网 发布:手机怎么设置4g网络 编辑:程序博客网 时间:2024/05/16 06:35
package TestThreadLocal;public class TestThreadLocal {    public static void main(String[] args) {        //启动一个线程,也对Message类进行设置输出        new Thread(new Runnable(){            public void run() {                Message msg = new Message();                msg.setTitle("www.liukaiyi.com");                MyThread.set(msg);                new Demo().fun();            }        }).start();        Message msg = new Message();        msg.setTitle("www.baidu.com");        MyThread.set(msg);        new Demo().fun();    }}class Message{  //创建Message类,实现基本功能    private String title;    public String getTitle() {        return title;    }    public void setTitle(String title) {        this.title = title;    }}class MyThread{     //MyThread类内实现ThreadLocal类的对象初始化功能    public static ThreadLocal<Message> threadlocal = new ThreadLocal<Message>();    //调用ThreadLocal类中的getset方法    public static Message get() {        return threadlocal.get();    }    public static void set(Message msg) {        threadlocal.set(msg);    }}class Demo{    public void fun() {     //实现Message里的getTitle功能        Message msg = MyThread.get();        System.out.println(msg.getTitle());    }}
0 0
原创粉丝点击