java 多线程 session共享 2C

在struts2中,启动新的线程 调用ServletActionContext.getRequest() 报空指针错误

4个回答

这个共享的缓存数据是否进程共享的,是不是只能某个线程私有的地址了

由于是并发的,当开启线程A(有session)后,再开启线程B,你得确定线程B开启的时候,此时A线程中已经初始化了session及其中想获取的数据。在B线程抓取数据之前,你可以将其挂起,等有数据之后,通知挂起线程,再搂数据就可以了。

你要共享数据,那么肯定要有一块内存空间是多个线程都能访问的,类似于静态变量,另外,还要考虑当有多个线程同时去取数据时,加锁访问,这样才能保证数据的正确性,数据库就是这样的

ServletActionContext.getRequest() 这个方法只能在struts的action中调用的吧,你新启动的线程中调用没有请求,应该就获取不到请求对象的吧。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问