我一直在开发一个项目,在这个项目中,我设计了我的代码,在连续指定的时间间隔后完成相同的工作。想要完成的工作有很多不同的周期。间隔很小,通常执行它们,因此我使用线程。在那之前,一切都清楚了。Java Session Like Object
为了减少进程和信息事务,我想把像会话这样的会话保存给定的数据,并随时提供给任何线程。有了这个对象,我计划不要每次都从数据库查询相同的配置信息,但是如果它存在于会话中,则需要查询并存储会话。
我不知道如何实现这个结构。
问候,
我一直在开发一个项目,在这个项目中,我设计了我的代码,在连续指定的时间间隔后完成相同的工作。想要完成的工作有很多不同的周期。间隔很小,通常执行它们,因此我使用线程。在那之前,一切都清楚了。Java Session Like Object
为了减少进程和信息事务,我想把像会话这样的会话保存给定的数据,并随时提供给任何线程。有了这个对象,我计划不要每次都从数据库查询相同的配置信息,但是如果它存在于会话中,则需要查询并存储会话。
我不知道如何实现这个结构。
问候,
这取决于。用Java保存和传递信息有几种方法。
static
和/或加载它在static {}
。ThreadLocal<T>
。就你而言,我认为1或3是适用的。一个真正的“会话”通常是线程本地的,但是你的功能需求(“随时提供给任何线程”,“配置信息”)让我觉得你更喜欢寻找一个应用程序范围内的常量。
1.我不想直接使用共享内存。 2. 3.我正在检查。 – scriptmonster 2010-03-31 17:02:27
好吧,然后去3.有一个“母亲”的线程或对象,其中你存储这些信息并作为c'tor/method参数传递给另一个线程。 – BalusC 2010-03-31 17:03:44
正如你所提到的,我需要一个可以从应用程序中的任何对象访问的应用程序范围对象。 我调查了你提到的所有方法。起初我问这个问题,看看用这个对象可以从所有对象中使用的方法。但第三种方式似乎是我的情况最好的。 – scriptmonster 2010-04-02 11:33:53