news 2026/6/10 12:58:10

多线程的学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多线程的学习

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

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

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

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

创建线程对象,要告诉线程所要执行的代码,即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()是否必要
结果依赖型主线程需要子线程的计算结果/执行结果
无依赖并行型主线程和子线程各自执行独立任务,互不依赖
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 10:50:00

重庆三峡学院图书资料管理系统设计与实现(源码+论文+部署+安装)

感兴趣的可以先收藏起来,还有在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望可以帮到大家。一、程序背景在信息化高速发展的当下,数字化、网络化成为现代图书馆发展的核心方向。重庆三峡…

作者头像 李华
网站建设 2026/6/10 10:46:51

我的一个oier朋友

第一部我没有意识到到我们的故事开始了。一个下午(或是早上,我忘了,只记得阳光透过窗帘照进,鹅黄的色调),电脑室A,js。来了一个女孩,在我身边坐下,我很是开心&#xff0c…

作者头像 李华
网站建设 2026/6/10 10:53:45

Flutter官方拒绝适配鸿蒙的真相:不是技术问题,而是...

有人评论说应该是Flutter官方适配鸿蒙,而不是鸿蒙适配Flutter。其实这么说也是有一点道理的(虽然不多),今天老刘就展开分析以下到底应该是谁来适配谁?从技术角度看:Flutter确实应该主动适配鸿蒙Flutter作为…

作者头像 李华
网站建设 2026/6/10 10:51:53

【模板】动态 dp 学习笔记(树剖版)

歉:作者是在打代码之前就完成了文字部分,转移方程的锅代码中修了,文字部分没修,在此致歉。【模板】动态 DP 加强版 题解该篇为题解。总文章(动态 dp 学习笔记)同步发表于 cnblogs。总文章(动态 …

作者头像 李华
网站建设 2026/6/10 12:25:36

kubernetes终端管理神器

什么是 k9s K9s:提供了一个基于curses的终端UI来与您的 Kubernetes 集群 进行交互。该项目的目的是简化浏览,观察和管理应用程序的过程。K9s 持续监视 Kubernetes 的更改,并提供后续命令以与观察到的Kubernetes资源进行交互。 K9s 输出展示…

作者头像 李华