日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
java代碼關(guān)閉進(jìn)程,java關(guān)閉程序的代碼

用怎樣的JAVA代碼結(jié)束指定進(jìn)程?

1 線程正常執(zhí)行完畢,正常結(jié)束。 也就是讓run方法執(zhí)行完畢,該線程就會(huì)正常結(jié)束。 2 監(jiān)視某些條件,結(jié)束線程的不間斷運(yùn)行。 然而,常常有些線程是伺服線程。它們需要長時(shí)間的運(yùn)行,只有在外部某些條件滿足的情況下,才能關(guān)閉這些線程。 通常,它們執(zhí)行在一個(gè)while(true)的死循環(huán)中。 如: publicvoid run() { while(true){ someWork(); if(finished){ break; } try { Thread.sleep(10000); } catch (InterruptedException e) { /* TODO自動(dòng)生成 catch 塊 * */ e.printStackTrace(); } } } 我們可以在while死循環(huán)內(nèi),每次循環(huán)時(shí),察看外部條件,看看是否需要關(guān)閉當(dāng)前線程。如果是,就break,跳出死循環(huán),或者是拋出異常,跳出死循環(huán),結(jié)束線程。 3 捕獲InterruptedException 運(yùn)行時(shí)異常,中斷當(dāng)前線程。 有些執(zhí)行伺服任務(wù)的線程,在while(true)這樣的死循環(huán)內(nèi)部,是一個(gè)阻塞中的方法。此時(shí),就不能采用第二種方法了。因?yàn)?,?dāng)該方法沒有返回時(shí),該線程一直處于阻塞當(dāng)中,根本無法執(zhí)行其他語句。 此時(shí),就需要調(diào)用該線程的interrupt方法,產(chǎn)生一個(gè)InterruptedException運(yùn)行時(shí)異常,是阻塞中的那個(gè)方法拋出這個(gè)異常,從而讓我們有機(jī)會(huì)結(jié)束這個(gè)線程的執(zhí)行。 如: publicvoid run() { while(true){ try { // getSendMessages 是BlockingQueue類。它的take方法將會(huì)阻塞! responseMessage = this.getSendMessages().take(); } catch (InterruptedException e1) { thrownew RuntimeException(); //或者break; } someWork(); } 一個(gè)外部的Thread 對(duì)象 指向這個(gè)線程。 需要結(jié)束這個(gè)線程時(shí),只需要調(diào)用thread對(duì)象的interrupt() 方法,就會(huì)在responseMessage = this.getSendMessages()。take(); 這條語句中產(chǎn)生一個(gè)InterruptedException異常,從而結(jié)束該線程的阻塞狀態(tài),通過拋出異常,或者break跳出死循環(huán),結(jié)束這個(gè)線程。

十多年的海興網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整海興建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“海興網(wǎng)站設(shè)計(jì)”,“海興網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

java怎么強(qiáng)行終止程序

在java程序中,可以使用java.lang.System的exit方法來終止程序的執(zhí)行,

12345678

public static void main(String[] args) { System.out.println("開始進(jìn)入程序..."); //do something System.out.println("程序準(zhǔn)備退出了!"); System.exit(0); //下面這句話將不會(huì)打印出來 System.out.println("程序已經(jīng)退出了!");}

但是使用exit方法的本質(zhì)是終止了JVM的運(yùn)行,如果同時(shí)運(yùn)行了另外一個(gè)程序,使用exit方法同樣也會(huì)使該程序也終止,要避免此種情況可以使用interrupt()來中斷退出一個(gè)獨(dú)立運(yùn)行的過程。對(duì)于多線程程序,必須要關(guān)閉各個(gè)非守護(hù)線程。

1234567891011121314151617181920212223

public static void main(String[] args) { System.out.println("開始進(jìn)入程序..."); //do something new Thread(){ public void run() { while (true) { System.out.println("我是另外的線程..."); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }.start(); //獲取man線程 Thread main = Thread.currentThread(); System.out.println(main.getName()); main.interrupt(); System.out.println("main線程已經(jīng)退出了,但是不影響其他線程運(yùn)行!"); }

只有在程序非正常退出時(shí),才使用exit方法退出程序。

如何用Java關(guān)閉一個(gè)進(jìn)程

解決這個(gè)問題,要看這個(gè)進(jìn)程是java程序自定義的進(jìn)程,還是操作系統(tǒng)的進(jìn)程,操作系統(tǒng)的進(jìn)程,又可以分為windows進(jìn)程和Linux進(jìn)程

一、針對(duì)操作系統(tǒng)的進(jìn)程:

1,首先java用戶,要具有操作進(jìn)程的權(quán)限

2. 針對(duì)windows操作系統(tǒng)的進(jìn)程,比如QQ進(jìn)程:

String?command?=?"taskkill?/f?/im?QQ.exe";??

Runtime.getRuntime().exec(command);

其中:taskkill 是命令名稱,/f /im 是參數(shù),QQ.exe是進(jìn)程的可執(zhí)行文件。

3.針對(duì)Linux操作系統(tǒng)

String?command?=?"kill?/f?/im?QQ.exe";??

Runtime.getRuntime().exec(command);

二、在Java程序中自定義的進(jìn)程

思路:在線程中設(shè)置一個(gè)標(biāo)志變量,當(dāng)這個(gè)變量的值在外界被改變的時(shí)候,有機(jī)會(huì)結(jié)束運(yùn)行的線程

public?class?T?{

public?static?void?main(String[]?args)?{

//?啟動(dòng)線程

MyThread?thread?=?new?MyThread();

new?Thread(thread).start();

//?你的其它的工作,此時(shí)線程在運(yùn)行中

//?你不想讓線程干活了,停掉它

//?注意,這只是一個(gè)標(biāo)志,具體線程何時(shí)停,并不能精確控制

thread.allDone?=?true;

}

}?

class?MyThread?implements?Runnable?{

boolean?volatile?allDone?=?false;

public?void?run()?{

//?每次循環(huán)都檢測標(biāo)志

//?如果設(shè)置停止標(biāo)志時(shí)已經(jīng)在循環(huán)里

//?則最長需要等待一個(gè)循環(huán)的時(shí)間才能終止

while?(!allDone)?{

//?循環(huán)里的工作

}

}

}

求助:java,怎樣代碼實(shí)現(xiàn)結(jié)束正在運(yùn)行的程序?

1.

public class TestShutDownHook {

2.

public TestShutDownHook() {

3.

doShutDownWork();

4.

}

5.

private void doShutDownWork() {

6.

Runtime run=Runtime.getRuntime();//當(dāng)前 Java 應(yīng)用程序相關(guān)的運(yùn)行時(shí)對(duì)象。

7.

run.addShutdownHook(new Thread(){ //注冊新的虛擬機(jī)來關(guān)閉鉤子

8.

@Override

9.

public void run() {

10.

//程序結(jié)束時(shí)進(jìn)行的操作

11.

System.out.println("程序結(jié)束調(diào)用");

12.

}

13.

});

14.

}

15.

public static void main(String[] args) {

16.

new TestShutDownHook();

17.

for (int i = 0; i 1000; i++) { // 在這里增添您需要處理代碼 }

18.

System.out.println(i);

19.

}

20.

}

21.

}

java程序關(guān)閉窗口代碼

import?java.applet.*;

import?java.awt.Color;

import?java.awt.Frame;

import?javax.swing.JFrame;

import?java.awt.event.*;

public?class?FirstFrame?extends?Frame?{

public?static?void?main(String?args[])?{

FirstFrame?fr?=?new?FirstFrame("First?contianer!");

fr.setSize(240,?240);

//繼承JFrame的關(guān)閉窗口代碼

//fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//繼承Frame的

fr.addWindowListener(new?WindowAdapter()?{????

public?void?windowClosing(WindowEvent?e)?{????????

System.exit(0);//退出系統(tǒng)???

}

});

fr.setVisible(true);

}

public?FirstFrame(String?str)?{

super(str);

}

}


本文標(biāo)題:java代碼關(guān)閉進(jìn)程,java關(guān)閉程序的代碼
網(wǎng)頁地址:http://www.dlmjj.cn/article/dsihjgj.html