在一个有客户端与服务器的WEB应用程序中,用while(true){.........}去做一些连接上的逻辑,请问会不会比较占用进程资源,说的通俗点就是用这个死循环会不会导致死机的可能?这样的算法符合常规吗?

解决方案 »

  1.   

    无论如何都不会死机的,等到一定限度的时候,JVM就会终止了。
    这样的写法是符合常规的,比如在多线程程序中,可能会经常用到这样的写法的,或者语句块中有多处使用break也同样适用。
      

  2.   

    完全取决于while{}里面所干的活,如果是CPU密集型的,比如i++,则必死无疑,
    如果是侦听Socket,一个Accept就会阻塞当前线程,自然不会死机。
      

  3.   

    ServerSocket监听,我们也考虑过这个问题!呵呵!
      

  4.   

    那得看你的死循环里做什么了。许多应用,都是使用死循环的,因为我们在里面可以
    1 sleep 休息
    2 return / break 退出循环
      

  5.   

    你平常用的windows的消息机制不就是基于死循环的吗