怎么在java中停止Thread

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎么在java中停止Thread,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)長(zhǎng)期為上千多家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為青陽(yáng)企業(yè)提供專(zhuān)業(yè)的網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè),青陽(yáng)網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

Java可以用來(lái)干什么

Java主要應(yīng)用于:1. web開(kāi)發(fā);2. Android開(kāi)發(fā);3. 客戶(hù)端開(kāi)發(fā);4. 網(wǎng)頁(yè)開(kāi)發(fā);5. 企業(yè)級(jí)應(yīng)用開(kāi)發(fā);6. Java大數(shù)據(jù)開(kāi)發(fā);7.游戲開(kāi)發(fā)等。

1.sleep

sleep()使當(dāng)前線程進(jìn)入停滯狀態(tài)(阻塞當(dāng)前線程),讓出CPU的使用,以留一定時(shí)間給其他線程執(zhí)行

sleep休眠時(shí)不會(huì)釋放對(duì)象的鎖

public class SleepDemo {
    public static void main(String[] args) throws InterruptedException {
        Process process = new Process();
        Thread thread = new Thread(process);
        thread.setName("線程Process");
        thread.start();
 
        for (int i = 0; i < 10; i++) {
            System.out.println(Thread.currentThread().getName() + "-->" + i);
            //阻塞main線程,休眠一秒鐘
            Thread.sleep(1000);
        }
    }
}
 
/**
 * 線程類(lèi)
 */
class Process implements Runnable {
 
    @Override
    public void run() {
 
        for (int i = 0; i < 10; i++) {
            System.out.println(Thread.currentThread().getName() + "-->" + i);
 
            //休眠一秒鐘
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
 
    }
}

2.join

在一個(gè)線程A中執(zhí)行了線程B的join方法,則A會(huì)掛起,等待B執(zhí)行完畢后再執(zhí)行后續(xù)任務(wù)。

public static void main(String[] args){
    Thread t1 = new Thread();
    t1.start();
    t1.join();
    // 以下代碼會(huì)在t1執(zhí)行完畢后打印
    System.out.println("t1 finished");
}

3.yield

yield并不意味著退出和暫停,是讓步,告訴線程調(diào)度如果有人需要,可以先拿去,我過(guò)會(huì)再執(zhí)行,沒(méi)人需要,我繼續(xù)執(zhí)行。

調(diào)用yield的時(shí)候鎖并沒(méi)有被釋放。

package com.yield;
 
public class YieldTest extends Thread {
 
public YieldTest(String name) {
super(name);
}
 
@Override
public void run() {
for (int i = 1; i <= 50; i++) {
System.out.println("" + this.getName() + "-----" + i);
// 當(dāng)i為30時(shí),該線程就會(huì)把CPU時(shí)間讓掉,讓其他或者自己的線程執(zhí)行(也就是誰(shuí)先搶到誰(shuí)執(zhí)行)
if (i == 30) {
this.yield();
}
}
}
 
public static void main(String[] args) {
YieldTest yt1 = new YieldTest("張三");
YieldTest yt2 = new YieldTest("李四");
yt1.start();
yt2.start();
}
}

上述就是小編為大家分享的怎么在java中停止Thread了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁(yè)標(biāo)題:怎么在java中停止Thread
標(biāo)題來(lái)源:http://muchs.cn/article28/ihiojp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈品牌網(wǎng)站建設(shè)、微信小程序、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)