资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

怎么在java中停止Thread

这期内容当中小编将会给大家带来有关怎么在java中停止Thread,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

成都创新互联长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为青阳企业提供专业的网站设计制作、网站建设青阳网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

Java可以用来干什么

Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。

1.sleep

sleep()使当前线程进入停滞状态(阻塞当前线程),让出CPU的使用,以留一定时间给其他线程执行

sleep休眠时不会释放对象的锁

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);
        }
    }
}
 
/**
 * 线程类
 */
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

在一个线程A中执行了线程B的join方法,则A会挂起,等待B执行完毕后再执行后续任务。

public static void main(String[] args){
    Thread t1 = new Thread();
    t1.start();
    t1.join();
    // 以下代码会在t1执行完毕后打印
    System.out.println("t1 finished");
}

3.yield

yield并不意味着退出和暂停,是让步,告诉线程调度如果有人需要,可以先拿去,我过会再执行,没人需要,我继续执行。

调用yield的时候锁并没有被释放。

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);
// 当i为30时,该线程就会把CPU时间让掉,让其他或者自己的线程执行(也就是谁先抢到谁执行)
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了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


本文标题:怎么在java中停止Thread
本文地址:http://www.cdkjz.cn/article/ihiojp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220