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

海口网站开发找千素网甜品网页设计模板html

海口网站开发找千素网,甜品网页设计模板html,wordpress主题动态,成都微信小程序分类信息开发Java系列文章目录 补充内容 Windows通过SSH连接Linux 第一章 Linux基本命令的学习与Linux历史 文章目录 Java系列文章目录一、前言二、学习内容:三、问题描述start() 方法run() 方法 四、解决方案:4.1 重复调用 .run()4.2 重复调用 start()4.3 正常调用…

Java系列文章目录

补充内容 Windows通过SSH连接Linux
第一章 Linux基本命令的学习与Linux历史


文章目录

  • Java系列文章目录
  • 一、前言
  • 二、学习内容:
  • 三、问题描述
    • start() 方法
    • run() 方法
  • 四、解决方案:
    • 4.1 重复调用 .run()
    • 4.2 重复调用 start()
    • 4.3 正常调用 start() 不会报出异常
    • 4.4 并行、并发与串行的区别
  • 五、总结:

一、前言

  • 主要是start()与run()的区别
  • 并发、并行、串行的区别

二、学习内容:

  • 学习多线程抢占 CPU 资源。
  • start() 与 run() 函数的区别。

三、问题描述

start() 方法

  • 功能:用于启动一个新线程
  • 线程状态:线程从 “New” 状态转变为 “Runnable” 状态,已准备,未执行
  • 并发执行:调用线程和新线程可以并发执行
  • 多次调用:一个线程只能调用一次 start();如果尝试多次调用,会抛出java.lang.IllegalStateException 异常。

总结:

  • ⭐️start() 方法启动线程。
  • ⭐️必须避免重复启动已结束的线程。

run() 方法

  • 功能:定义线程的具体执行任务
  • 线程状态:当前线程
  • 顺序执行:使用.run() 方法并不会启动新线程,只在当前线程中执行
  • 多次调用:可以多次调用 run() 方法,只在当前线程中执行

总结:

  • ⭐️run() 方法是本线程的任务内容,不会创建新线程。

四、解决方案:

4.1 重复调用 .run()

无异常,因为在当前线程里面

class MyThread extends Thread{@Overridepublic void run(){System.out.println("ThisThread" + Thread.currentThread().getName());}
}public class test{public static void main(String[] args){Thread MyThread1 = new MyThread();for(int i = 0; i < 3; i++){MyThread1.run();//此处}}
}

4.2 重复调用 start()

Java 设计线程时,明确规定一个线程的生命周期管理。通过确保每个线程只能被启动一次

⭐️报出 llegalComponentStateException 异常


class MyThread extends Thread{@Overridepublic void run(){System.out.println("ThisThread" + Thread.currentThread().getName());}
}public class test{public static void main(String[] args){Thread MyThread2 = new MyThread();//一个线程for(int i = 0; i < 3; i++){MyThread.start();//多次}}
}

4.3 正常调用 start() 不会报出异常

每个线程启动一次

class MyThread extends Thread{@Overridepublic void run(){System.out.println("ThisThread" + Thread.currentThread().getName());}
}public class test{public static void main(String[] args){for(int i = 0; i < 3; i++){Thread MyThread3 = new MyThread();//一个线程MyThread.start();//每次启动}}
}

4.4 并行、并发与串行的区别

  1. 串行 (Serial):
    ○ 定义:任务一个接一个地顺序执行。
    ○ 特点:只有一个任务在运行,必须等待前一个任务完成后才能开始下一个任务。
    ○ 例子:做饭时,先切菜,等切完菜再煮汤。
  2. 并发 (Concurrency):
    ○ 定义:多个任务在同一时间段内交替进行,可能在不同上下文间切换。
    ○ 特点:任务可以同时启动,但不一定同时完成。系统会在多个任务之间切换。
    ○ 例子:在做饭的过程中,边切菜边煮汤,虽然每项具体工作都在某个时刻只做一件,但两者之间切换。
  3. 并行 (Parallelism):
    ○ 定义:多个任务在同一时间真正同时执行。
    ○ 特点:需要有多个处理单元(如多核CPU)。任务完全独立,实际同时运行。
    ○ 例子:在厨房里,两个厨师同时切菜和煮汤,真正实现了同时的物理执行。

五、总结:

  • 使用 start():启动线程,让其并发执行
  • 使用 run():直接执行任务,不会创建新线程,适用于顺序执行任务。

⭐️ 通过 start() 方法才能启动新线程

(后续有遇到问题再添加)


声明:如本内容中存在错误或不准确之处,欢迎指正。转载时请注明原作者信息(麻辣香蝈蝈)。

在这里插入图片描述

http://www.yayakq.cn/news/574901/

相关文章:

  • dw网页设计制作网站的成品网络销售一般流程
  • 海淀网站开发网站建设及推广方案ppt模板
  • 上海闵行建设局官方网站北京工程建设有限公司
  • 仿网站源码是怎么弄的国家企业信用信息公示系统官网全国
  • 网站开发字体过大保山市住房和城乡建设厅网站
  • 企业网站制作设深圳线运营是网站建设
  • 公司网站的专题策划制作网站参考
  • 常见软件开发模型福州短视频seo网红
  • 手机网站大全排行免费文字一键生成图片
  • 写代码建商城网站时间网站建设需要固定ip地址吗
  • 服务器怎么建设网站营销型网站建设深度网
  • 自己做网站的各种代码顶部固定网站模板
  • 网站建设的技术需要多少钱电子商务技术
  • 网站推广服务chuseo做网站优化的话术
  • 迪庆州住房和城乡建设局网站网站模版 源码之家
  • 汤臣倍健网站建设方案蓬莱做网站案例
  • 百度河南代理商搜索引擎优化理解
  • 工艺品商城网站建设自建木屋教程
  • 网站开发跟网页制作佛山建网站
  • ae免费素材网站专门 做鞋子团购的网站
  • 哈尔滨做网站收费广东seo价格是多少钱
  • 福州哪家企业网站建设设计最高端世界500强企业的核心价值观
  • 网站开发前期调研如何推荐别人做网站
  • 网站建设的调研报告营销者网站
  • 淘宝客采集网站建设开发小程序需要的技术
  • 仿站教程wordpress 多站点共享
  • 十堰市网站建设国外网站模版免费下载
  • 小说网站建设wordpress设置付费阅读
  • 想做淘宝 网站怎么做免费建网站模板平台
  • 工程建设招投标网站中卫网站建设公司