永发信息网

ThreadLocal 传递参数的问题

答案:2  悬赏:70  手机版
解决时间 2021-02-04 11:12
public class SystemContext {

private static ThreadLocal pagesize = new ThreadLocal();

public static int getPagesize() {
Integer _pagesize = (Integer) pagesize.get();
if (_pagesize == null) {
_pagesize = Integer.MAX_VALUE;
}
return _pagesize;
}

public static void setPagesize(int _pagesize) {
pagesize.set(_pagesize);
}

public static void removePagesize() {
pagesize.remove();
}
}
我在 filter 类里SystemContext.setPagesize(7);

System.out.println(SystemContext.getPagesize()); 打印出来的是7

可在其他类里System.out.println(SystemContext.getPagesize()); 打印出的就不是7,我知道不是同个线程,可是不知道怎么在其他类也能读取,出7来,忘哪位大哥给点提示
最佳答案
ThreadLocal是保证在同一个线程内共享,而不同线程的实例是不同的。
如果想在不同线程内共享,那么直接用公共静态属性即可,如:

public static int pagesize;
全部回答
1). thread:thread 是程序执行的最小单元,它是分配cpu的基本单位。可以用 thread 来执行一些异步的操作。 2). service:service 是android的一种机制,当它运行的时候如果是local service,那么对应的 service 是运行在主进程的 main 线程上的。如:oncreate,onstart 这些函数在被系统调用的时候都是在主进程的 main 线程上运行的。如果是remote service,那么对应的 service 则是运行在独立进程的 main 线程上。因此请不要把 service 理解成线程,它跟线程半毛钱的关系都没有!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
阿里旺铺怎么做SEO优化
cym是什么意思
翰德外国语学校怎么去啊,有知道地址的么
关于成本法与权益法的转换,下列说法中不正确
九月是什么星座的
我已经做错事了,怎样讨大人开心
y13怎样进入recovery模
湖南经视的《越策越开心》中黄小鸭的配音员是
N多寿司沧州维明路店在什么地方啊,我要过去
苹果4首页成设置语言最后要链接itunes是怎么
【neversaynever】跪求neversaynever听后感作
《cl》和《未闻花名》哪个更感人?
古雒斋酒店地址在哪,我要去那里办事
怎么用花生油制作肥皂?部分材料最好用一些常
巴西的主要民族是什么
推荐资讯
H.O.T的全盛时期和现在的bigbang比,哪个更红
南溪北路/X031(路口)地址在什么地方,想过去
弦子~看走眼歌词
艺莲瑜伽地址好找么,我有些事要过去
世界上能用铁塔作为城市标志的只有一个城市就
比“熟练”意义更深的词语有什么?介于“熟练
建涪粮油副食这个地址在什么地方,我要处理点
东方圣元家政怎么去啊,我要去那办事
It's eighe thirty.对画线部分提问 ---------
哪里说过吴亦凡喜欢郑秀妍?说两人微博互相关
山艺民族乐器培训地址在哪,我要去那里办事
广州有没有比较专业的户外登山团体或组织,知
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?