分布式系统的那些事儿(二) - 线程与进程

线程和进程在之前的文章有讲过,这里简单再说一下吧。

 

进程,一个程序可以称为一个进程

线程,一个程序中包含多个线程,线程的集合体可以称之为进程。

同一进程中的不同线程可以互相影响,也可以并行操作(并发),进程占用系统资源,不同进程中的线程互相不影响。

 

​举个栗子,玩家在玩魔兽争霸,让3个不同的农民工分别去采矿伐木打野,这是3个不同的线程;此时玩家还在聊QQ,QQ中播放着音乐,那么QQ这个进程中的线程不影响魔兽中的线程。

在并发中涉及到最多的还数线程了。多线程操作可以并行执行很多相同的动作,可以有效的利用计算机的CPU资源。

 

相关文章:

创建线程的几种方式

Java并发和多线程那些事儿

使用Spring ThreadPoolTaskExecutor实现多线程任务

我们为何要使用多线程,它有什么优点?

 

时间: 2024-10-12 07:16:39

分布式系统的那些事儿(二) - 线程与进程的相关文章

哈哈哈你知道线程和进程的区别吗

问题描述 哈哈哈你知道线程和进程的区别吗 很简单,所谓线程是分配内存的最小单位,进程则是分配资源的最小度量 一个进程是由多个线程组成的 解决方案 线程是分配内存的最小单位 这个说的不确切. 解决方案二: 进程拥有相对独立的地址空间.而线程只有独立的寄存器和堆栈上下文,而共享内存. 解决方案三: 进程是载体,包含多个线程 线程是CPU运行的,一个时刻CPU只在一个线程上运行 解决方案四: 线程是隶属于进程的,没有进程就没有线程. 解决方案五: 线程是调度的最小单位,进程则是分配资源的最小度量.进程

线程及 进程间的通信问题! .

一个很好的编程随想的博客http://program-think.blogspot.com/2009/03/producer-consumer-pattern-0-overview.html 架构设计:生产者/消费者模式[0]:概述  1.如何确定数据单元2.队列缓冲区3.环形缓冲区4.双缓冲区 生产 消费 2010-06-01 10:13   #include <boost/thread/thread.hpp> #include <boost/thread/mutex.hpp>

python线程、进程和协程详解_python

引言 解释器环境:python3.5.1 我们都知道python网络编程的两大必学模块socket和socketserver,其中的socketserver是一个支持IO多路复用和多线程.多进程的模块.一般我们在socketserver服务端代码中都会写这么一句: server = socketserver.ThreadingTCPServer(settings.IP_PORT, MyServer) ThreadingTCPServer这个类是一个支持多线程和TCP协议的socketserver

深入分析父子线程、进程终止顺序不同产生的结果_C 语言

Linux下编程,线程.进程退出顺序问题纷纷扰扰,如果父进程/线程先于子进程/线程终止,系统会做什么处理呢?反之,如果子进程/线程先于父进程/线程终止,系统又会做什么处理呢?下面是我个人平时在笔记上做的一些象征性的总结,如果有疑问之处,大可提出,我一直认为怀疑是人类进步的根本所在.一.线程Linux线程创建函数为pthread_create(),默认规则是谁创建子线程,谁就要负责子线程的资源回收,当父线程退出后,子线程也随着退出.所以,一般情况下,父线程退出时都要确保子线程已经退出,所以会使用p

Linux中线程和进程的区别

Linux中线程和进程的区别 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,它是系统进行资源分配和调度的一个独立单位.例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格.内存空间.磁盘空间.I/O设备等,然后该进程被放入到进程的就绪队列,进程调度程序选中它,为它分配CPU及其他相关资源,该进程就被运行起来. 线程是进程的一个实体,是CPU调度和分配的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器.一组寄存器和栈),但

UNIX环境高级编程:线程和进程的区别

进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性.进程和线程的区别在于: (1)一个程序至少有一个进程,一个进程至少有一个线程. (2)线程的划分尺度小于进程,使得多线程程序的并发性高. 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率. 线程在执行过程中与进程还是有区别的.每个独立的线程有一个程序运行的入口.顺序执行序列和程序的出口.但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控

线程和进程的区别及Python代码实例_python

在程序猿的世界中,线程和进程是一个很重要的概念,很多人经常弄不清线程和进程到底是什么,有什么区别,本文试图来解释一下线程和进程.首先来看一下概念: 进程(英语:process),是计算机中已运行程序的实体.进程为曾经是分时系统的基本运作单位.在面向进程设计的系统(如早期的UNIX,Linux 2.4及更早的版本)中,进程是程序的基本执行实体:在面向线程设计的系统(如当代多数操作系统.Linux 2.6及更新的版本)中,进程本身不是基本运行单位,而是线程的容器.程序本身只是指令.数据及其组织形式的

Python并发编程之线程池/进程池

引言 Python标准库为我们提供了threading和multiprocessing模块编写相应的多线程/多进程代码,但是当项目达到一定的规模,频繁创建/销毁进程或者线程是非常消耗资源的,这个时候我们就要编写自己的线程池/进程池,以空间换时间.但从Python3.2开始,标准库为我们提供了concurrent.futures模块,它提供了ThreadPoolExecutor和ProcessPoolExecutor两个类,实现了对threading和multiprocessing的进一步抽象,对

1线程概念:线程和进程之间的关系,线程间可共享资源,线程间非共享资源,线程的优缺点

 1线程概念 1.1什么是线程 1.1.2线程和进程的关系         1.轻量级进程(light-weightprocess),也有PCB,创建线程使用底层函数和进程一样,都是clone. 2.从内核里看进程和线程是一样的,都有各自不同的PCB,但是PCB中指向内存资源的三级页表示相同的 3.进程可以蜕变成线程 4.在美国人眼里,线程就是寄存器和栈 5.在Linux下,线程是最小的执行单位:进程是最小的分配资源的单位   查看LWP号(通过这个命令可以查看到线程号),命令是: ps –