当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 想写一个能实现将;dir *.jpg /s 显示的文件拷贝到指定目录的程序,在dos下运行,请高手指点以下思路 ......
 ·问一个串口的问题,    »显示摘要«
    摘要: 我用mscomm32.ocx作串口通讯 代码如下:每次读一个字节 ole_1.object.inputlen=1 ole_1.object.rthreshold=1 do yield() loop while ole_1.object.inbuffercount<1 b=ole_1.object.input 可是有的时候是正常的,有的时候就会出现一个错误是什么not external......


,关于线程的销毁的问题-求教

写了个程序,要用到很多线程,我定义了一个线程数组,程序如下:  
  MyThreadClass   threadclass=new   MyThreadClass();  
  Thread   []   myth=new   Thread[20];  
  int   num=0;  
  while(true){  
  if(num=20){  
  num=0;  
  }  
  myth[num]=new   Thread(threadclass);  
  num++;  
  }  
  请问,在我的程序执行一遍循环,也就是创建了20个线程后,在执行第二遍的时候,是不是java虚拟机会自动把没用的线程回收?如果不能回收的话,我该怎么样手工将其销毁?请大家帮忙!!

NO.1   作者: loveyousomuch

安道理java虚拟机是可以自动回收的!  
  好像没有什么特别的方法!  
  表示关注!!!

NO.2   作者: new_zero

不明白,只要线程从run()里退出,线程就销毁了  
  如果线程还没有运行完,就象从外部停止它,否则线程是不会被回收的

NO.3   作者: noratong

while(true){  
  if(num=20){  
  num=0;  
  }  
  myth[num]=new   Thread(threadclass);  
  num++;  
  }  
  你的这个循环可以退出吗???不能退出的话就算只一个也不能销毁。  
  你这样用它会覆盖上次的一个线程对象,原来的也就不用你管了,你想再调用原来的线程也是不可能的。  
 

NO.4   作者: noratong

你试过了的吗???为什么说不行???  
  如果你的循环是在run()方法里,就不用退出了。  
   
  不过我还是不懂你这段代码的意思,构建20个MyThreadClass干嘛???你又没有让这些线程运行。  
   
  你应该把你想要作的说清楚。

NO.5   作者: lotofu

加全局标志位,就可以实现退出线程了

NO.6   作者: noratong

本来java虚拟机的自动回收功能都是不定时的进行的,要强制执行的话,就调用System类中的静态方法gc(),但这样不能保证回收对象内存。

NO.7   作者: new_zero

public   void   run(){  
   
  while(sss)//sss=false时会发生什么事情  
  {  
  ...  
  }  
   
  }

NO.8   作者: kulukyo

让线程退出的办法,我感觉最好的就是下面这样  
  public   MyThread   extends   Thread  
  {  
        private   boolean   running   =   true;  
        public   void   run(){  
                while(running){  
                        //这里放入线程的执行处理  
                }  
        }  
        public   void   stopThread(){//设置一个函数stopThread,用来停止线程  
          running   =   false;//将running=false,程序的run()中的while循环会退出,线程死亡  
          }  
  }

NO.9   作者: plumber28

我也不明白你的代码,如果线程运行完后,会自动销毁,使用join()就可等待线程的结束,如果采用外来的停止线程就需要根楼上的一样去操作,使用全局变量。

NO.10   作者: new_zero

friendyou(anew)用一下你的大脑


    摘要: 有实用过cmpp(移动)和sgip(联通)协议开发过短信的吗?请给个例子吧, 比如我的sp企业代码为99991,sp接入号为3010012345,我需要给13606186781发短信,短信的内容为“hello” submit的包该怎么打啊? 最好两个协议的事例都有。还有谁能给我发个模拟网关啊?联通的我有了,我要移动的! ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE