千家信息网

Java中怎么利用Thread00实现多线程

发表于:2024-10-08 作者:千家信息网编辑
千家信息网最后更新 2024年10月08日,Java中怎么利用Thread00实现多线程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1 并发与并行并发:指两个或多个事件在同一个时
千家信息网最后更新 2024年10月08日Java中怎么利用Thread00实现多线程

Java中怎么利用Thread00实现多线程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1 并发与并行
  • 并发:指两个或多个事件在同一个时间段内发生。

  • 并行:指两个或多个事件在同一时刻发生(同时发生)。

在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单 CPU 系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替运行的时间是非常短的。

而在多个 CPU 系统中,则这些可以并发执行的程序便可以分配到多个处理器上(CPU),实现多任务并行执行,即利用每个处理器来处理一个可以并发执行的程序,这样多个程序便可以同时执行。目前电脑市场上说的多核 CPU,便是多核处理器,核 越多,并行处理的程序越多,能大大的提高电脑运行的效率。

注意:单核处理器的计算机肯定是不能并行的处理多个任务的,只能是多个任务在单个CPU上并发运行。同理,线程也是一样的,从宏观角度上理解线程是并行运行的,但是从微观角度上分析却是串行运行的,即一个线程一个线程的去运行,当系统只有一个CPU时,线程会以某种顺序执行多个线程,我们把这种情况称之为线程调度。

2 线程与进程
  • 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。

  • 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。

    简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程

我们可以再电脑底部任务栏,右键----->打开任务管理器,可以查看当前任务的进程:

进程

线程

线程调度:

  • 分时调度

    所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间。

  • 抢占式调度

    优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),Java使用的为抢占式调度。

    大部分操作系统都支持多进程并发运行,现在的操作系统几乎都支持同时运行多个程序。比如:现在我们上课一边使用编辑器,一边使用录屏软件,同时还开着画图板,dos窗口等软件。此时,这些程序是在同时运行,"感觉这些软件好像在同一时刻运行着"。

    实际上,CPU(中央处理器)使用抢占式调度模式在多个线程间进行着高速的切换。对于CPU的一个核而言,某个时刻,只能执行一个线程,而 CPU的在多个线程间切换速度相对我们的感觉要快,看上去就是在同一时刻运行。 其实,多线程程序并不能提高程序的运行速度,但能够提高程序运行效率,让CPU的使用率更高。

    • 抢占式调度详解

    • 设置线程的优先级

3 同步和异步

4 同步锁和死锁

同步锁 当多个线程同时访问同一个数据时,很容易出现问题。为了避免这种情况出现,我们要保证线程同步互斥,就是指并发执行的多个线程,在同一时间内只允许一个线程访问共享数据。 Java 中可以使用 synchronized 关键字来取得一个对象的同步锁。

死锁 何为死锁,就是多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。

看完上述内容,你们掌握Java中怎么利用Thread00实现多线程的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

线程 程序 运行 多个 进程 同时 系统 处理 调度 任务 处理器 时刻 时间 同步 操作系统 优先级 应用程序 感觉 是在 电脑 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 星际争霸用什么软件开发的 网络技术属于第几类商标 数据库技术产生的背景和原因 贵阳成睿软件开发有限公司 文件导入数据库插件 严重的网络安全问题 广厦网络技术股份公司通州 滨州森鹏互联网科技有限公司 简信互联网科技 百兆网线千兆网口服务器能用吗 csgo换头像服务器问题 万得应届生软件开发去适合吗 肇庆无限软件开发零售价 中国航信软件开发怎么样 远程服务器在哪里找移动u盘 ftp服务器不支持安全协议 周村生产软件开发定制 数据库模型主属性 竞聘网络安全管理人员演讲 廊坊网络技术厂家报价 天津大数据卫星授时服务器云主机 网络安全威胁 物理 网络安全可视化大屏 网络安全周宣传活动主题是 tbc如何查看服务器人口 快速上传文件到服务器 服务器管理页面禁用网卡 南宁做企业网络安全的公司 梅西互联网科技 如何制作网站的数据库表
0