首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >(一)线程是什么

(一)线程是什么

作者头像
HaC
发布2020-12-30 17:55:39
发布2020-12-30 17:55:39
5690
举报
文章被收录于专栏:HaC的技术专栏HaC的技术专栏

多线程可以实现并行处理,避免了某项任务长时间占用CPU时间。在单CPU计算机中,为了运行所有这些线程,操作系统需要为每个独立线程安排一些CPU时间,操作系统以轮换方式向线程提供时间片,在宏观上似乎这些线程都在同时运行。简单的说,就是更好的利用CPU的资源。

1. 程序

计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。

2. 进程

为了使程序并发执行,并且可以对并发执行的程序加以描述和控制,人们引入了进程,使参与并发执行的每个程序都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称作进程控制块(PCB)。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。这样,有程序段、相关数据段和PCB三部分就构成了进程实体(又叫进程映像)。我们一般情况下把进程实体就简称为进程。可以定义为:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

3. 线程

线程是进程的基础,线程的引入是为了减少程序在并发执行时所付出的时空开销,是OS具有更好的并发性。进一步改善系统的服务质量。线程是比进程的更小基本单位。

简单地说,把正在计算机中执行的程序叫做“进程(Process)”。而“线程(Thread)”是进程中某个单一顺序的控制流,它记录了程序指令的踪迹。线程是进程内部的一个执行单元。

例如QQ是一个程序,更新是一个进程,下载包数据 是其中一个线程,清理旧版本数据也是其中一个线程。

Java线程的好处

(1)进程间不能共享内存,但线程之间可以共享内存非常容易。

(2)系统创建进程需要为该进程重新分配系统资源,但创建线程则代价小的多,因此使用多线程来实现多任务并发比多进程的效率高。

(3)Java语言内置多线程功能支持,而不是单纯地作为底层操作系统的调度方式,从而简化了Java的多线程编程。

Java中,线程是一个轻量级的子进程,是最小的处理单元,一个系统下可以有多个进程,一个进程中又有多个线程:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/07/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 程序
  • 2. 进程
  • 3. 线程
  • Java线程的好处
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档