本文目录一览:
java 怎么强制关闭 一个线程 ?
在Java的多线程编程中,java.lang.Thread类型包含了一些列的方法start(), stop(), stop(Throwable) and suspend(), destroy() and resume()。通过这些方法,我们可以对线程进行方便的操作,但是这些方法中,只有start()方法得到了保留。\x0d\x0a在Sun公司的一篇文章《Why are Thread.stop, Thread.suspend and Thread.resume Deprecated? 》中详细讲解了舍弃这些方法的原因。\x0d\x0a如果真的需要终止一个线程,可以使用以下几种方法: \x0d\x0a1、让线程的run()方法执行完,线程自然结束。(这种方法最好)\x0d\x0a\x0d\x0a2、通过轮询和共享标志位的方法来结束线程,例如while(flag){},flag的初始值设为真,当需要结束时,将flag的值设为false。(这种方法也不很好,因为如果while(flag){}方法阻塞了,则flag会失效)\x0d\x0a如果线程因为执行sleep()或是wait()而进入Not Runnable状态,假如是wait() 用标志位就方法就不行了,\x0d\x0apublic final void wait(long timeout)\x0d\x0a throws InterruptedException此方法导致当前线程(称之为 T)将其自身放置在对象的等待集中,然后放弃此对象上的所有同步要求。即当前线程变为等待状态\x0d\x0await() 的标准使用方法\x0d\x0asynchronized(obj){\x0d\x0awhile(){\x0d\x0aobj.wait();\x0d\x0a}\x0d\x0a满足条件的处理过程\x0d\x0a}\x0d\x0a而您想要停止它,您可以使用第三种即\x0d\x0a3 使用interrupt(),而程式会丢出InterruptedException例外,因而使得执行绪离开run()方法
java怎么设置窗体关闭键不可用?
import javax.swing.*;
public class Test{
public staticvoid main( String args[]) {
Jframe frame = new JFrame("一个简单窗口");
frame.setVisible( true);
//用户单击窗口的关闭按钮时程序执行的操作
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
}
}
/*
setDefaultCloseOperation( ); 各个参数的定义:
1、为“0”或DO_NOTHING_ON_CLOSE:
(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的WindowListener 对象的 windowClosing 方法中处理该操作。
2、为“1”或HIDE_ON_CLOSE:
调用任意已注册的 WindowListener 对象后自动隐藏该窗体。此时没有关闭程序,只是将程序界面隐藏了。
3、为“2”或DISPOSE_ON_CLOSE:
调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。但继续运行应用程序,释放了窗体中占用的资源。
4、为“3”EXIT_ON_CLOSE:
(在 JFrame 中定义)使用 System exit 方法退出应用程序。仅在应用程序中使用。结束了应用程序。
5、默认情况下,该值被设置为 HIDE_ON_CLOSE。
如何用Java关闭一个进程
解决这个问题,要看这个进程是java程序自定义的进程,还是操作系统的进程,操作系统的进程,又可以分为windows进程和Linux进程
一、针对操作系统的进程:
1,首先java用户,要具有操作进程的权限
2. 针对windows操作系统的进程,比如QQ进程:
String command = "taskkill /f /im QQ.exe";
Runtime.getRuntime().exec(command);
其中:taskkill 是命令名称,/f /im 是参数,QQ.exe是进程的可执行文件。
3.针对Linux操作系统
String command = "kill /f /im QQ.exe";
Runtime.getRuntime().exec(command);
二、在Java程序中自定义的进程
思路:在线程中设置一个标志变量,当这个变量的值在外界被改变的时候,有机会结束运行的线程
public class T {
public static void main(String[] args) {
// 启动线程
MyThread thread = new MyThread();
new Thread(thread).start();
// 你的其它的工作,此时线程在运行中
// 你不想让线程干活了,停掉它
// 注意,这只是一个标志,具体线程何时停,并不能精确控制
thread.allDone = true;
}
}
class MyThread implements Runnable {
boolean volatile allDone = false;
public void run() {
// 每次循环都检测标志
// 如果设置停止标志时已经在循环里
// 则最长需要等待一个循环的时间才能终止
while (!allDone) {
// 循环里的工作
}
}
}
java怎么关闭自动更新已经关了的程序
在自动更新中关闭。java要关闭自动更新已经关了的程序,是可以在Java中找到里面的控制面板,就能点击选择更新,把自动更新选框取消勾选。
我的世界java怎么关闭实验性设置
我的世界java关闭实验性设置方法如下:
1、打开我的世界主界面的单人游戏;
2、进入后,会显示原有的游戏存档,点击设置按钮;
3、进入设置页面后,找到开启实验玩法的选项,点击关闭即可。