多线程是一种同时执行多个线程的技术。它不允许进程或操作系统生成运行在计算机中的程序的多个副本,而是同时管理来自多个用户或同一用户的多个请求,而不创建程序的多个副本。
线程是轻量级进程,也是最小的处理单元。同时运行多个线程称为多线程。因此,基本上,这是一种由多个处理器使用单个代码集的方法。
理解多线程。
要理解多线程,需要理解两个术语。
线程:线程是一个进程的独立或基本单元。
进程:正在执行的程序称为进程,一个进程中有多个线程。
多线程中的执行是并发和并行的。
并发执行:如果一个处理器可以在单个处理器上的多线程进程中的线程之间切换执行资源,可以说是并发执行。
并行执行:当一个进程中的每个线程可以在同一个多线程进程中同时运行在单独的处理器上时,称为并行执行。([网站关键词库,匿名seo博客,WwW . Lwyseo.com])
螺纹类型
用户级线程:它们由用户创建和管理。它们在应用程序级别使用,不涉及操作系统。一个很好的例子是,当我们在Java、C #、Python和其他编程中使用线程时,我们使用用户线程。
每个线程都包含一些独特的数据来帮助识别它们,例如:
程序计数器:程序计数器负责跟踪指令,告诉下一条要执行的指令。
寄存器:系统寄存器用于跟踪线程当前的工作变量。
堆栈:它包含线程执行的历史。
内核级线程:它们是由操作系统实现和支持的,它们通常比用户线程需要更多的时间来执行,比如Window Solaris。
多线程模型
多线程模型有三种类型。
多对多:任意数量的用户线程可以与相同或更少数量的内核线程进行交互。
多对一:它将许多用户级线程映射到一个内核级线程。
一对一:用户级线程和内核级线程之间是一对一的关系。
多线程的使用。
多线程是将并行引入系统或程序的一种方式。因此,您可以在看到并行路径的任何地方使用它(两个线程不依赖于彼此的结果),以使它变得快速和简单。
例如:
大数据的处理可以分为多个部分,由多个线程完成。
涉及验证和保存、生成和消耗、读取和验证等机制的应用程序在多线程中完成。这类应用的例子很少,比如网上银行、充值等等。
它可以用来制作不同元素在不同线程上运行的游戏。
在Android中,它用于访问后台线程中运行的API,以防止应用程序停止运行。
在Web应用程序中,当您希望应用程序被异步调用和异步执行时,请使用它。
多线程的优点。
经济性:因为它们共享相同的处理器资源,所以非常经济。创建线程花费的时间更少。
资源共享:允许线程共享资源,如数据、内存、文件等。因此,一个应用程序可以在同一个地址空间中有多个线程。
响应速度:它提高了对用户的响应速度,因为它允许程序继续运行,即使它的一部分正在执行冗长的操作或被阻止。
可扩展性:增加多CPU机器上的并行性,增强多处理器计算机的性能。
这样可以更好的利用CPU资源。
为什么要使用多线程?
增加并行性。
充分利用可用的CPU资源。
提高应用程序的响应能力,更好地与用户互动。
结论
在计算机世界中,当我们谈论并行时,我们谈论的是多线程。实现多线程是相当有效和直接的,因为它使工作更便宜,而且它处理异步的特性使它独一无二。因此,它是有需求的,是一项值得学习的技术。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/48810.html