本文目錄一覽:
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、進入設置頁面後,找到開啟實驗玩法的選項,點擊關閉即可。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/246233.html