多线程和多进程分别是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程和多进程分别是啥意思?相关的知识,希望对你有一定的参考价值。

多进程,就是同时可以处理几个程序的意思。
而多线程,则比较复杂:
便如你打开一个WINAMP,那么CPU就会执行WINAMP程序,然后你随即又双击打开发REALONE,那么,作为优先程序,CPU会暂时性的暂停WINAMP的运行,转而执行优先权高的REALONE程序,这个叫做单线程。
而多线程则同,同时开启多个程序,多个程序并行运行互不相冲突,不必中断,这个才叫真正的多线程技术。
参考技术A 进程(Process)是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。程序只是一组指令的有序集合,它本身没有任何运行的含义,只是一个静态实体。而进程则不同,它是程序在某个数据集上的执行,是一个动态实体。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消,反映了一个程序在一定的数据集上运行的全部动态过程。

线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位。线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。线程可与属于同一进程的其它线程共享进程所拥有的全部资源,但是其本身基本上不拥有系统资源,只拥有一点在运行中必不可少的信息(如程序计数器、一组寄存器和栈)。

比如说:
一个系统同运行很多程序这个就是多进程

一个程序处理一个任务多段去处理就叫线程(好像下载工具那样。分几段去下载软件)
参考技术B 多线程一般是指数据传输时用多倍速传输
多进程是指同时运行多种程序本回答被提问者采纳
参考技术C 可以简单理解为

线程是指连接服务器的数量,就好象HTTP下载方式一样

进程是在系统运行中的命令、操作

Python多线程是啥意思?

多线程能让你像运行一个独立的程序一样运行一段长代码。这有点像调用子进程(subprocess),不过区别是你调用shu的是一个函数或者一个类,而不是独立的程序。
程基本上是一个独立执行流程。单个进程可以由多个线程组成。程序中的每个线程都执行特定的任务。例如,当你在电脑上玩游戏时,比如说国际足联,整个游戏是一个单一的过程。,但它由几个线程组成,负责播放音乐、接收用户的输入、同步运行对手等。所有这些都是单独的线程,负责在同一个程序中执行这些不同的任务。
每个进程都有一个始终在运行的线程。这是主线。这个主线程实际上创建子线程对象。子线程也由主线程启动。
参考技术A 几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,所有运行中的任务都对应一个进程。即当一个程序进入内存运行时,即变成一个进程。进程就是处于运行过程中的程序,并且具有一定的独立功能。进程是系统进行资源分配调度的一个独立单位,当一个程序运行时,内部可能包含多个顺序执流,每个顺序执行流就是一个线程。
1、线程在程序中是独立的,并发的执行流,划分尺度小于进程,所有多线程程序的并发性高;
2、进程在执行过程中拥有独立的内存单元,而多个线程共享内存,可以极大地提高进程程序的运行效率;
3、线程比进程具有更高的性能,由于同一个进程中的线程都有共性,多个线程共享同一个进程的虚拟空间,可以很容易实现通信。操作系统在创建进程中,必须为该进程分配独立内存空间,分配大量相关资源,但创建线程则简单得多。
参考技术B

什么是线程

线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。

为什么要使用多线程

线程在程序中是独立的、并发的执行流。与分隔的进程相比,进程中线程之间的隔离程度要小,它们共享内存、文件句柄和其他进程应有的状态。

因为线程的划分尺度小于进程,使得多线程程序的并发性高。进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

线程比进程具有更高的性能,这是由于同一个进程中的线程都有共性多个线程共享同一个进程的虚拟空间。线程共享的环境包括进程代码段、进程的公有数据等,利用这些共享的数据,线程之间很容易实现通信。

操作系统在创建进程时,必须为该进程分配独立的内存空间,并分配大量的相关资源,但创建线程则简单得多。因此,使用多线程来实现并发比使用多进程的性能要高得多。

总结起来,使用多线程编程具有如下几个优点:

    进程之间不能共享内存,但线程之间共享内存非常容易。

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

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

以上是关于多线程和多进程分别是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

安卓多线程间通信和多进程之间通信有什么不同?分别怎么实现?

多线程是啥

进程和多线程

Python多进程和多线程

Python3 多进程和多线程

多线程和多进程的区别