线程多线程技术具有的优越性:1、响应速度快;2、资源共享;3、成本较低;4、可扩展性。响应速度快是指,交互式应用程序中的多线程可能允许程序继续运行,即使程序的一部分被阻止或正在执行冗长的操作,从而提高对用户的响应能力。
一、线程多线程技术具有的优越性
1、响应速度快
交互式应用程序中的多线程可能允许程序继续运行,即使程序的一部分被阻止或正在执行冗长的操作,从而提高对用户的响应能力。在非多线程环境中,服务器侦听端口以获取某些请求,当请求到来时,它会处理该请求,然后继续侦听另一个请求。处理请求所花费的时间会使其他用户不必要地等待。相反,更好的方法是将请求传递给工作线程并继续侦听端口。例如,多线程 Web 浏览器允许用户在一个线程中进行交互,而视频正在另一个线程中加载。因此,与其等待整个网页加载,用户可以继续查看网页的某些部分。
2、资源共享
流程只能通过以下技术共享资源:
- 消息传递
- 共享内存
这些技术必须由程序员明确组织。但是,默认情况下,线程共享它们所属进程的内存和资源。共享代码和数据的好处是,它允许应用程序在同一地址空间中具有多个活动线程。
3、成本较低
为进程创建分配内存和资源在时间和空间方面是一项昂贵的工作。由于线程与其所属的进程共享内存,因此创建和上下文切换线程更经济。通常,创建和管理进程所花费的时间比在线程上花费的时间要多得多。例如,在 Solaris 中,创建过程比创建线程慢 30 倍,上下文切换慢 5 倍。
4、可扩展性
在多处理器架构的情况下,多编程的好处大大增加,其中线程可能在多个处理器上并行运行。如果只有一个线程,则无法将进程划分为不同处理器可以执行的较小任务。单线程进程只能在一个处理器上运行,而不管有多少个处理器可用。多 CPU 计算机上的多线程可提高并行性。
二、多线程的优点
- 多线程技术可以加快程序的运行速度,使程序的响应速度更快,因为用户界面可以在进行其它工作的同时一直处于活动状态
- 可以把占据长时间的程序中的任务放到后台去处理,同时执行其他操作,提高效率
- 当前没有进行处理的任务时可以将处理器时间让给其它任务
- 可以让同一个程序的不同部分并发执行,释放一些珍贵的资源如内存占用等等
- 可以随时停止任务
- 可以分别设置各个任务的优先级以优化性能
延伸阅读
多线程缺点
- 因为多线程需要开辟内存,而且线程切换需要时间因此会很消耗系统内存。
- 线程的终止会对程序产生影响
- 由于多个线程之间存在共享数据,因此容易出现线程死锁的情况
- 对线程进行管理要求额外的 CPU开销。线程的使用会给系统带来上下文切换的额外负担。
文章标题:线程多线程技术具有哪些优越性,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/34875