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

多线程的学习

程序:一段静态的代码,是应用软件执行的蓝本

进程:程序一次动态执行的过程,对应从代码加载,执行到执行完毕的一个完整过程

线程:比进程更小的执行单位

多线程的基本概念:每个进程都有一段专用的内存区域,多个进程的内部数据和状态都是完全独立的多个线程可共享一块内存空间和一组系统资源,有可能互相影响

创建线程对象,要告诉线程所要执行的代码,即run()方法

创建线程的两种方式

继承Thread类 实现Runnable接口

继承Thread类 public class类名 extends Thread 在其中假如属性,同时覆盖run()方法, 创建线程对象后,调用其start方法,启动线程

利用向Thread()构造方法传递Runnable对象来创建线程 public class 类名 implements Runnable{}

类名 对象名=new 类名(实参表) Thread 线程对象名=new Thread(对象名)

注意:

run()方法规定了线程要执行的任务,但一般不是调用run()方法,而是通过线程的start()方法来启动线程

sleep()方法表示线程休眠,时间单位为毫秒,但实际休眠所用时间一般不会等于给定的时间值,休眠过程中可能会被其他线程中断,所一要求捕获 InterruptedException异常

创建线程的两种方法的比较

直接继承Thread类,编写简单,可以直接操纵线程,但是不能再继承其他类

使用Runnable接口,可以将Thread类与所要处理的任务的类分开,形成清晰的模型,还可以从其他类继承

线程的优先权

newthread.setPriority() 线程的级别有10级,默认的是5

自私的线程:有很高的优先权的线程,不主动睡眠或让出处理器控制权

线程的常用方法

run方法

运行线程的主体,启动线程时,由java直接调用

stop方法

停止线程

sleep方法

暂停线程执行,让其他线程得到机会,sleep要抛出异常,必须抓住

还有join()方法等待的时”线程终止“,这个方法的使用契机

场景类型核心特征join()是否必要
结果依赖型主线程需要子线程的计算结果/执行结果
无依赖并行型主线程和子线程各自执行独立任务,互不依赖
http://www.gsyq.cn/news/132264.html

相关文章:

  • 达梦数据库深度实践与学习心得
  • 化工园区企业污泥清淤压滤施工哪个专业
  • jdk1.8 是如何解决死循环问题的?
  • 10个高效降AI率工具,MBA必备避坑指南
  • 九支高校团队入选第四届Alexa社交机器人挑战赛
  • Docker容器操作总结
  • 华为OD机考双机位C卷 - 编程能力提升计划 (Java Python JS C/C++ GO )
  • Java毕设选题推荐:基于SpringBoot的校园购物系统设计与实现基于springboot的校园零售管理系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 重庆三峡学院图书资料管理系统设计与实现(源码+论文+部署+安装)
  • 华为OD机考双机位C卷 - 计算误码率 (Java Python JS C/C++ GO )
  • Java计算机毕设之基于Java的高校超市管理系统设计与实现基于springboot的校园零售管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • GPIO输入输出的内容补充(继上一篇)
  • DHCP服务器:轻松管理IP自动分配 - 详解
  • consul - yebinghuai-qq
  • redis-基本操作指令 - yebinghuai-qq
  • 医疗AI智能体架构设计:六大核心模块与七种专业智能体类型全解析
  • Docker容器操作总结 - 十里
  • 构建智能Agent系统的路由模式:原理、实现与实战案例(建议收藏)
  • 【题解】P14826 踩踩标
  • 基于librosa的MFCC的音色相似度检测程序
  • 2025 国内公关公司 TOP10 评测!策略创新+资源整合,十大品牌权威榜单发布,专业赋能品牌传播新生态 - 全局中转站
  • 【课程设计/毕业设计】基于springboot的汽车租赁买卖管理系统的设计与实现租赁预订、二手车交易【附源码、数据库、万字文档】
  • 2025 国内整合营销服务商TOP10 评测!全链路赋能 + 标杆案例,十大品牌权威榜单发布,驱动品牌增长新引擎 - 全局中转站
  • 【打造自己的 DeepSeek】第 1 期:为什么要打造自己的 DeepSeek? _
  • 请教软件和业务问题,引发的思考
  • 复习——共享内存
  • 写在最前面
  • 【python大数据毕设实战】哮喘患者症状数据可视化分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习
  • 【01-02】
  • 非遗万象图前端开发