用了个java
while(true){
....
}死循环来检测表中是否存在待处理记录,想请教各位,这样是否会产生系统崩溃,网络阻塞等一系列的问题?

解决方案 »

  1.   

    如果是线程编程的话是不会的~~~
    我就是用这个控制线程一直扫描一个文件夹,每循环一次wait(多少秒)如果不是线程编程的话
    应该不行
    曾经好像就出现过因为while退不出来造成机子近似死机~~~
      

  2.   

    死循环是可以的,只是内部要有休眠语句sleep,否则始终不释放控制权,系统会出问题。
    此外,不能有内存分配而不释放的情况,否则内存
      

  3.   

    否则始终不释放控制权??我看楼上的搞错了吧,控制权不是由程序控制的,即使你的程序是死循环,其他的应用程序也是可以运行的, 因为CPU的运行调度是系统来执行的!
      

  4.   

    用线程,最好是加sleep,可以考虑设置后台线程
    不用线程确实依赖系统,也确实像死机,尤其是Linux下,其实用线程而不用sleep也是,对CPU的影响非常大,所以考虑一个合适的sleep时间很关键
      

  5.   

    需不需要sleep其实要看循环语句中的执行什么代码
    如果有io的read()之类的会阻塞的代码
    不sleep也可以的