什么是线程,什么情况下使用线程

什么是线程,什么情况下使用线程,第1张

1进程是指在系统中正在运行的一个应用程序

线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。

2相对进程而言,线程是一个更加接近于执行体的概念,它可以与进程中的其它线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。

3多线程适应于并发环境的需求。

4还要理解并行,

5对象锁,即synchronized ,用这个修饰run方法,当一个线程进入运行run方法,这个方法就上锁了,别的线程就用不了,等到这个线程用完,锁就打开了别的线程重复此机制

先看看专业的解释是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。

线程是程序中一个单一的顺序控制流程在单个程序中同时运行多个线程完成不同的工作,称为多线程

线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定 线程的运行中需要使用计算机的内存资源和CPU

我用例子给你说下比如你们学校大扫除,分工到每一个班级你们班级就叫做进程,负责的任务是大扫除,就是主线程然后你们班有3个小组,第一组扫地,第二组拖地,第三组擦窗户那么这三组分别做了三种不同的事情,可以看作三个线程也就是说线程隶属于进程是一个包含被包含的关系每个线程的作用不一样就上上面我说的三个线程,一个作用是扫地,一个是拖地,一个擦窗户理解起来也不是很难

CPU线程就是所谓硬件线程,是利用特殊字符的硬件指令,把两个逻辑内核模拟成物理芯片,让单个处理器能使用线程级并行计算,从而兼容多线程并行计算,从而兼容多线程操作系统和软件,使运行性能提高。

软件线程是指windows操作系统中每个运行的程序都是一个进程,每一个进程都会创建一个或多个线程,这些线程称之为软件线程。一个进程至少有一个线程,称为主线程。

线程的概念:Thread  每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。

多线程的概念:  多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。

多线程的特点:使用线程可以把占据长时间的程序中的任务放到后台去处理

用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度 。

程序的运行速度可能加快  ·在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。

在这种情况下我们可以释放一些珍贵的资源如内存占用等等。

线程定义比较抽象,简单的说就是一个代码执行流。许多执行流可以混合在一起由CPU调度。线程是允许各种任务交互执行的方式。

Java的线程在操作系统的实现模式依系统不同而不同,可能是系统级别的进程或线程,但对于程序员来说并没有影响。

任务交互的一个好处是增加程序响应。如一个界面程序执行一段耗时的数据库查询,使用单独的线程可以让界面依然响应用户的其他输入,而单线程只能等待查询结束再处理。

JVM以及操作系统会优先处理优先级别高的线程,但不代表这些线程一定会先完成。设定优先级只能建议系统更快的处理,而不能强制。

另外,在运行时,并没有按照函数分界,而是按照机器码/汇编码分界。也就是说不保证任何一段代码是被完整而不打断的执行的(除非你已经使用同步手段)。正由于如此,各种线程同步的方法应运而生。

以上就是关于什么是线程,什么情况下使用线程全部的内容,包括:什么是线程,什么情况下使用线程、线程是什么意思、cpu的线程指的是什么与程序里的线程有什么关联和区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:聚客百科

原文地址: http://juke.outofmemory.cn/life/3676563.html

()
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-25
下一篇 2023-04-25

发表评论

登录后才能评论

评论列表(0条)

保存