首页 > 后端开发 > 正文

java运行后,进程不结束,怎么办?

2024-03-15 23:13:13 | 我爱编程网

我爱编程网小编给大家带来了java运行后,进程不结束,怎么办?相关文章,一起来看一下吧。

本文目录一览:

java运行后,进程不结束,怎么办?

java运行后,进程不结束,怎么办?

此种情况下是因为有线程尚未结束。一般有下面几种情况:

使用了定时器:java.util.Timer。定时器在运行时,程序是无法结束的,需要cancel才可以。

使用图形界面。比如new JFrame()并显示后,需要通过setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)设置JFrame的关闭行为为销毁,这样才能保证界面线程被清掉。(Java的默认行为是隐藏,但不销毁,可能是为了使用者可以再次显示窗口)

有死循环的代码。比如:while(true){ Thread.sleep(200);}

有死锁的线程。比如:多个线程等待同一把锁,且锁只通知了一次。

java运行后,进程不结束,怎么办?

如何让JAVA程序一直运行

一直运行的最好方式是,做成socketServer,一直循环监听,我爱编程网

利用服务器推送技术去不断的访问client的文件,来判断是否被修改。

可是这样专业化的制作,工程量就大了。

还是看你的需求,如果不是项目要求的话,自己写的test的话,可以用SVN版本控制管理工具啊。只需要简单的配置就可以大家共享文件,还可以检查是否被更改,以及每个版本都会被记录和找回,很方便的

java运行后,进程不结束,怎么办?

Java后台如何一直运行一个后台

1,保证主线程阻塞,即在执行main方法里添加阻塞代码。

2,比如Java做服务器时,接收soket信息,

ServerSocket serverSocket =newServerSocket(10086);//1024-65535的某个端口

//2、调用accept()方法开始监听,等待客户端的连接

while(true){}

Socket socket = serverSocket.accept();

//3、获取输入流,并读取客户端信息

InputStream is = socket.getInputStream();

InputStreamReader isr =newInputStreamReader(is);

BufferedReader br =newBufferedReader(isr);

String info =null;

while((info=br.readLine())!=null){

System.out.println("我是服务器,客户端说:"+info);

}

}

3,添加阻塞代码:

Semaphore semaphore = new Semaphore(0);

try {

semaphore.acquire();

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

这段代码是不占cpu的。它会让出cpu的执行权。

以上就是我爱编程网小编给大家带来的java运行后,进程不结束,怎么办?,希望能对大家有所帮助。
与“java运行后,进程不结束,怎么办?”相关推荐