当前位置: 首页 > wzjs >正文

网站开发电脑设置外贸企业网站推广方案

网站开发电脑设置,外贸企业网站推广方案,if设计奖官网,为什么北京一夜封了在 Java 中,多线程编程离不开 Thread 类。本文将介绍 Thread 的常用属性和方法,并结合实际使用场景进行讲解。 一、线程的创建与基本操作 Java 提供了两种主要方式来创建线程: 继承 Thread 类 class MyThread extends Thread {public void r…

在 Java 中,多线程编程离不开 Thread 类。本文将介绍 Thread 的常用属性和方法,并结合实际使用场景进行讲解。


一、线程的创建与基本操作

Java 提供了两种主要方式来创建线程:

  1. 继承 Thread

    class MyThread extends Thread {public void run() {System.out.println("这是子线程");}
    }MyThread t = new MyThread();
    t.start(); // 启动线程,自动调用 run()
    

  2. 实现 Runnable 接口(更常用,推荐)

    Runnable task = () -> System.out.println("这是子线程");
    Thread t = new Thread(task);
    t.start();
    

    也可以这样写(更简洁)

    Thread t = new Thread(()-> {System.out.println("这是子线程");
    })

本节聚焦于 Thread 类本身的常用操作。


二、线程的终止:isInterrupted()interrupt()

  • interrupt():用于通知某个线程“你该终止了”。

  • isInterrupted():判断线程是否被中断。

代码示例

Thread t = new Thread(() -> {while (!Thread.currentThread().isInterrupted()) {System.out.println("运行中...");try {Thread.sleep(500);} catch (InterruptedException e) {System.out.println("被中断啦!");break;}}System.out.println("线程退出");
});t.start();
Thread.sleep(1500);
t.interrupt(); // 请求中断

调用 interrupt() 并不会强制终止线程,线程是否终止还取决于其内部是否响应了中断信号(比如通过轮询 isInterrupted() 或在阻塞方法中抛出 InterruptedException)。

运行结果

运行中...
运行中...
运行中...
被中断了
线程退出进程已结束,退出代码为 0

解释说明

1. 运行中...
  • 子线程开始执行,进入 while 循环。

  • 打印“运行中...”后,执行 Thread.sleep(500) 休眠。

2. 运行中...(重复多次)
  • 因为主线程等了 1500 毫秒,所以子线程 sleep(500) 执行了大约 3 次。

3. 被中断了
  • 主线程调用了 t.interrupt(),此时子线程正处于 sleep() 状态。

  • sleep() 收到中断请求会抛出 InterruptedException

  • 异常被 catch,打印“被中断了”,并跳出循环。

4. 线程退出
  • 跳出 while 循环后,子线程继续执行最后一行,打印“线程退出”。

示例说明:
线程 A 调用线程 B 的 interrupt() 方法,只是一个请求,线程 B 会不会真的停止,还要看它“愿不愿意”。


三、线程的等待:join()

在线程 A 中调用线程 B 的 join() 方法,会使线程 A 等待线程 B 执行完毕后再继续。

Thread t = new Thread(() -> {System.out.println("线程B开始执行");try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("线程B执行完毕");
});t.start();
t.join(); // 当前线程A将等待t执行完毕

四、获取当前线程实例:currentThread()

方法定义

@IntrinsicCandidate
public static native Thread currentThread();

该方法是 Thread 类的静态方法,返回当前正在执行的线程对象

使用场景

在任何地方都能调用currentThread(),获得当前线程实例。

比如我在主线程:

Thread t = Thread.currentThread();
System.out.println("当前线程名: " + t.getName());

输出示例

当前线程名: main

五、线程休眠:sleep(long millis)

public static void sleep(long millis)

示例代码

System.out.println("准备休眠");
Thread.sleep(1000); // 当前线程暂停1秒
System.out.println("休眠结束");

sleep() 方法会使当前线程进入休眠状态,在指定时间内让出 CPU 执行权。

使用场景

  • 控制线程节奏

  • 模拟耗时操作

  • 等待资源准备完成


六、线程的状态(Thread.State)

Java 将线程的运行状态进行了细化,共有六种:

状态名描述
NEW创建了线程对象,但还未调用 start()
RUNNABLE可运行状态(包括正在运行和就绪)
BLOCKED等待锁(synchronized 块或方法)
WAITING无限期等待(如 Object.wait()join() 不带超时)
TIMED_WAITING有时间限制的等待(如 sleep()join(long)
TERMINATED线程执行完毕或被异常终止

PCB没了,但对象还在,只是无法再做多线程的事情了。

状态图示 

状态图


七、总结:线程的常用操作

操作方法/说明
创建线程继承 Thread 或实现 Runnable
启动线程start()
终止线程interrupt(),配合 isInterrupted()
等待线程结束join()
获取线程实例Thread.currentThread()
线程休眠Thread.sleep()

文章转载自:

http://YpN1hAXZ.snyqb.cn
http://RvPBAirR.snyqb.cn
http://bB0n77aM.snyqb.cn
http://vzJ8OFUz.snyqb.cn
http://ZKLFgTaT.snyqb.cn
http://PJLyyVVW.snyqb.cn
http://OHAT3Bkc.snyqb.cn
http://IP5kP6xE.snyqb.cn
http://lFwrQe2O.snyqb.cn
http://A82qU0fR.snyqb.cn
http://bjjJgSao.snyqb.cn
http://sBeqgqtu.snyqb.cn
http://4XhHl70r.snyqb.cn
http://izVklIeu.snyqb.cn
http://FjlKRPCv.snyqb.cn
http://v0wKcB0w.snyqb.cn
http://kujOXjOS.snyqb.cn
http://27QFSdGD.snyqb.cn
http://ApqmgrNL.snyqb.cn
http://Yf4aiqKH.snyqb.cn
http://MCyVguOL.snyqb.cn
http://DlFdU6yU.snyqb.cn
http://J0pkMaJo.snyqb.cn
http://EzernzMQ.snyqb.cn
http://NkqOi0em.snyqb.cn
http://ij6WLKOT.snyqb.cn
http://tnPmox1N.snyqb.cn
http://XpYMRn1C.snyqb.cn
http://jJ1lFfgv.snyqb.cn
http://XdV5ypvF.snyqb.cn
http://www.dtcms.com/wzjs/699522.html

相关文章:

  • 网站快照时间营销网站的主题 定位 修改建议
  • 好的做网站珠海建设网站首页
  • 单机游戏网页版网站排名seo教程
  • 怎样建网站卖东西html原神网页制作教程
  • 网站开发模块学些什么大气的门户网站
  • 织梦网站地图如何做衡阳县专业做淘宝网站
  • 如何建设网站服务器建站平台在线提交表格
  • 网站建设的三种方法凡科免费网站能用吗
  • 苏州网站建设系统价格合理电商类网站有几个主流程
  • 有没有做gif的专门网站wordpress自学教程
  • 成都网站建设g冠辰服务器域名解析
  • 网站建设网站目的模板店面设计图片
  • wordpress 文字插件下载无锡seo优化
  • 手游托在什么网站申请做的比较简约的网站
  • 杭州设计公司网站排名株洲最新通知今天
  • 网站后台管理系统哪个好如何用wd做网站设计
  • 杭州开发网站的公司哪家好灯塔seo
  • 企业网站备案要求win2003做网站
  • 东莞九江网站制作好的网站或网页推荐
  • 网站建设版面分几页合适网站开发开源程序
  • 太原网站建设与维护财务软件开发公司简介
  • 非官方网站建设综合类网站怎么做
  • 网站漏洞郫都区规划建设局网站
  • 墨刀做的网站设计dw做网站乱码
  • 怎么搜索网站内容网站备案流程审核单
  • 刷赞网站空间免费网站营销咨询顾问
  • 网站开发服务流程烟台网站建设在哪
  • 网站建设部分费用会计科目空调网站模版
  • 怎么黑网站用代码做一号店网站怎么做
  • 电子商务网站主要功能海口网站建设加q.479185700