简单的线程调用问题
我想实现类似于模式对话框的功能,就是在线程1调用线程2,待线程2运行结束后返回线程1继续运行,部分代码如下: 
 //被调用的线程 
 public   class   DiaDis   extends   Form   implements   Runnable,   CommandListener   { 
             private   MainDis   maindis; 
 	boolean   threadend; 
 	... 
             public   void   run()   { 
                         Display.getDisplay(MainMIDlet.instance).setCurrent(this); 
                         while   (true)   { 
                                     if   (threadend)   { 
                                                 break; 
                                     } 
                                     thread.yield(); 
                         } 
                         Display.getDisplay(MainMIDlet.instance).setCurrent(MainDis); 
                         return; 
             }   
             public   void   commandAction(Command   command,   Displayable   displayable)   { 
                         if   (command.getCommandType()   ==   Command.EXIT)   { 
                                     threadend   =   true; 
                         } 
             }  	 
 } 
 //主线程 
 public   class   MainDis   extends   Form   implements   Runnable,   CommandListener   { 
             private   MainDis   maindis; 
 	... 
             private   void   CallDia()   { 
                         DiaDis   diadis   =   new   DiaDis(this); 
                         Thread   diathread   =   new   Thread(diadis); 
                         diathread.start(); 
                         try   { 
                                     diathread.join(); 
                         }   catch   (InterruptedException   ex1)   { 
                         } 
 		... 
             } 
 }   
 但是我在调试时,发现运行到jion时就死循环了,哪位高手知道问题出在哪里吗,请指教. 
 本人初学J2ME,可能存在一些低级错误.
------解决方案--------------------主次不分啊
------解决方案--------------------commandAction API文档中有说明的,可以说由系统提供一个线程去 监听command是否被触发(当然Java有种机制可以不需要线程不断的去判断一个方法是否被执行),所以相当于你在一个线程当中不断的去 调用另外一个线程,而且 commandAction这个方法有可能会发生阻塞,这可能就是你不能这么做的原因。具体还需要高手来解答,本人只能解释道这里啦