温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在java中停止Thread

发布时间:2021-04-21 17:12:20 来源:亿速云 阅读:198 作者:Leah 栏目:编程语言

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

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了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI