进程和线程的区别与联系

本文介绍了进程和线程的概念,强调进程是资源分配的最小单位,线程是程序执行的最小单位。多进程和多线程在操作系统中的应用,以及线程的两种创建方式:继承Thread类和实现Runnable接口。同时,文章还概述了线程的生命周期及其相关方法。
摘要由CSDN通过智能技术生成

一、简介

进程:是计算机上的程序关于某数据集合上的一次运行活动。是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其数据形式的描述。进程是程序的实体,是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础,程序是指令、数据及其组织形式的描述,进程是程序的实体。

多进程:在操作系统中可以同时运行多个程序。

 

线程:是操作系统进行运算调度的基本单位,它被包含在进程之中,是进程中的实际运作单位,一条线程指的是进程中一个单一顺序的控制流。一个进程可以并发多个线程,每条线程并行执行不同的任务。

多线程:在一个应用程序中可以同时执行多个功能,例如迅雷中可以同时执行多个下载任务旧是多线程。

总结如下:

进程:指在系统中正在运行地一个应用程序;程序一旦运行就是进程,进程-----资源分配的最小单位。

线程:系统分配处理器时间的资源的基本单元。或者说进程之内独立执行一个单元执行流。线程------程序执行的最小单位。

特性

1、一个进程可以包含多个线程。

2、一个线程必须属于某个线程,进程是线程的容器。

3、一个进程中的多个线程共享该进程中的所有资源。

CPU时间片:对于单核CPU,在某个时间点只能处理一个程序。CPU分配给各个程序的时间,称为时间片,即该进程允许的运行时间(时间很短)。

1、从表面上看各个程序是同时运行的,实际上CPU在同一时间只能执行一个程序。

2、只是CPU在很短的时间内,在不同程序间切换。轮流执行每个 程序,执行速度很快,所以感觉上像是同时在运行。

二、创建线程

两种方式:

1、继承Thread类

2、实现Runnable接口

 

 

 

1、继承Thread类

步骤:

1、定义一个类,继承自Thread类,重写run()方法。

2、创建该类的实例,即创建一个线程。

3、调用start()方法,启动线程()(不能直接调用run()方法)。


                
进程是操作系统进行资源分配的基本单位,而线程进程内的一个执行单元,也是进程内的可调度实体。一个进程可以包含多个线程,而线程共享了进程的某些资源。进程线程之间存在以下区别: 1. 本质区别进程是操作系统进行资源分配的基本单位,而线程是独立调度和分派的基本单位。 2. 包含关系:一个进程内可以有多个线程线程进程的一部分,因此线程也被称为轻量级进程或轻权进程。 3. 资源开销:每个进程都有独立的代码和数据空间,程序之间的切换会有较大的开销;而线程可以看作轻量级的进程,同一类线程共享代码和数据空间,线程之间切换的开销小。 4. 创建和销毁:创建一个进程需要遍历内存资源找到合适的内存再分配给它,销毁进程也需要遍历内存资源。而创建和销毁一个线程相对不那么麻烦。 5. 内存分配:同一个进程线程共享本进程的地址空间和资源,而进程之间的地址空间和资源是相互独立的。 6. 影响关系:一个进程崩溃后,在保护模式下不会对其他进程产生影响;但一个线程崩溃可能会导致包含该线程的整个进程直接死掉。 7. 操纵者不同:进程的操纵者一般是操作系统,线程的操纵者一般是编程人员。 8. 执行过程:每个独立的进程有程序运行的入口、顺序执行序列和程序出口,而线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值