什么是多线程(多线程的原理作用优缺点)

什么是多线程(多线程的原理作用优缺点)

更新时间:2025-11-09 已阅读:299次 | 作者:潍坊网站建设

网站首页 >> 新闻资讯 >> 行业动态 >> 什么是多线程(多线程的原理作用优缺点)

多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包阔对称处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。

什么是多线程(多线程的原理作用优缺点)

什么是多线程(多线程的原理作用优缺点)

多线程就是把操作系统中的这种并发执行机制原理运用在一个程序中,把一个程序划分为若干个子任务,多个子任务并发执行,每一个任务就是一个线程。

实现多线程是采用一种并发执行机制。

1、方便的通信和数据交换

什么是多线程(多线程的原理作用优缺点)

什么是多线程(多线程的原理作用优缺点)

2、更高效地利用CPU

线程 是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行. 一个进程最少 有一个线程,线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程。

进程 是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间

线程是系统对代码的执行进程,如果将系统当做一个员工,被安排执行某个任务的时候,他不会对任何其他的任务作出响应。只有当这个任务执行完毕,才可以重新给他分配任务。一个程序都有一个主线程,负责执行程序必要的任务 。

当我们处理一个消耗大的任务(如上传或下载图片),如果让主线程执行这个任务,它会等到动作完成,才继续后面的代码。在这段时间之内,主线程处于“忙碌”状态,也就是无法执行任何其他功能。体现在界面上就是,用户的界面完全“卡死” 。

多线程是指,将原本线性执行的任务分开成若干个子任务同步执行,这样做的优点是防止线程“堵塞”,增强用户体验和程序的效率。缺点是代码的复杂程度会大大提高,而且对于硬件的要求也相应地提高。

(1)分时调度

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

(2)抢占式调度 (常用)

优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),

Java使用的为CPU使用抢占式调度模式在多个线程间进行着高速的切换。对于CPU的一个核新而言,某个时刻, 只能执行一个线程,而

CPU的在多个线程间切换速度相对我们的感觉要快,看上去就是 在同一时 刻运行。

其实,多线程程序并不能提高程序的运行速度,但能够提高程序运行效率,让CPU的 使用率更高。

同步:排队执行 , 效率低但是安全.

异步:同时执行 , 效率高但是数据不安全

8、并发与并行

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

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

如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低 系统的效率,因为频繁创建线程和销毁线程需要时间. 线程池就是一个容纳多个线程的容 器,池中的线程可以反复使用,省去了频繁创建线程对象的操作,节省了大量的时间和资源。

降低资源消耗。

提高响应速度。

提高线程的可管理性。

1. 缓存线程池:长度无限制

执行流程 :

判断线程池是否存在空闲线程

存在则使用

不存在,则创建线程 并放入线程池, 然后使用

2. 定长线程池 : 长度是指定的数值

执行流程 :

判断线程池是否存在空闲线程

存在则使用

不存在空闲线程,且线程池未满的情况下,则创建线程 并放入线程池, 然后使用

不存在空闲线程,且线程池已满的情况下,则等待线程池存在空闲线程

无论是过去还是现在,世界上大多数计算机仍然采用的是冯·诺依曼结构,这种结构的特点就是顺序处理,一个处理器在同个时刻只能处理一件事情。

Windows 95/NT采用一种全新的任务调度策略,它把一个进程划分为多个线程,每个线程轮流占用CPU的运算时间,操作系统不断地把线程挂起、唤醒、再挂起、再唤程,如此反复,由于现在CPU的速度比较快,给人的感觉是多个线程在同时执行,就好像有多个CPU存在于计算机中一样。

本文网址:https://www.shengjiangju.com/hydt/318.html
版权声明: 1.本站内容部分为潍坊晟匠聚网络编辑原创文章,部分来源于网络,如需转载,请标注来源网站名字和文章出处链接。 2.本站内容为传递信息使用,仅供参考,也不构成相关建议。 3.部分内容和图片来源于网络,如有侵权,请联系我们处理。

相关资讯

我有建站需求

captcha

*请正确填写需求信息,我们最快会在1小时内与您取得联系!
注:如果想获取实时咨询报价,您可以拔打业务经理手机 13356701695或扫码添加客户经理微信咨询。

Copyright © 2022 潍坊晟匠聚网络   版权所有  All Rights Reserved 备案号:鲁ICP备2022030645号-1 网站地图 企业分站
提供网站建设,网站制作,seo关键词排名优化,专业建站公司价格实惠,业务涵盖潍坊市、潍城区、寒亭区、坊子区、奎文区、高新区、滨海区、峡山区、保税区、临朐县、昌乐县、青州市、诸城市、寿光市、安丘市、高密市、昌邑市等地区
本站内容部分均来自网络,如有侵权嫌疑,请作者本人留言或直接联系管理员,本网站看到留言后将尽快审核删除!