代码如下
class a{
 private Mythread mythread; //Mythread中有私有变量, 比如result;
 
 public void set(){
     mythread = new Mythread();
     mythread.start();
 }
 
 public String get(){
    //在这里得到Mythread的变量result
    //相关的处理
    return mythread.getResult();
 }
}大侠们帮我看看这样设计线程是否合理, 如果不合理应该怎么改呢?

解决方案 »

  1.   

    没有人回答我吗? 哦,  这个class a实际上是个servlet
      

  2.   

    是servlet就有问题servlet是单实例的,多个用户操做时会同时调用你的set 和get方法。
      

  3.   

    servlet其实就是一个多线程,建议不要在servlet中写线程
      

  4.   

    如果不在servlet中使用全局变量的thread, 那该怎样做能达到set, get这样的效果呢
      

  5.   

    基于设计来说
    要把线程提出来 另外一个class比较好
    这样 容易看清代码,还容易扩展线程的功能
    还可以做通用模块
    做接口等等
      

  6.   

    little06我没有明白你的意思, 能不能具体说一下?
    其实我的功能很简单, 在set方法中启动一个线程, 在get方法中监控该线程的状态, 如果满足就返回。
    我不知道在servlet中改怎么来做, 包括那个线程类