美文网首页
linux-进程与线程 概括

linux-进程与线程 概括

作者: Esc偉 | 来源:发表于2017-05-12 19:53 被阅读0次

进程 运行的程序
四种创建 方法
第一种
os模块 fork() 创建 fork在子进程和父进程中返回的值不同 子进程返回0 父进程返回创建的子进程PID getpid 获取当前进程PID getppid获取父级进程PID

第二种 multiprocessing 中Process 类
实例类
Process(group,target,name,args,kwargs)
group 进程组
target 调用对象
name 名字
args 参数 元祖形式
kwargs 参数 字典格式
常用方法
is_alive 判断是否运行
start 运行
join 主进程阻塞 等待子进程结束
run
terminate 立即终止

第三种 写一个Process 的派生类重写run方法

第四种 Pool 进程池
Pool() 创建进程池
apply_async(func,args,kwargs)
apply(func,args,kwargs)
都是分配任务一个异步一个同步
close 关闭进程池接受任务
join 主进程阻塞 等待子进程
terminate

进程间通信 通过 Queue 进程池需要用Manager().Queue()
方法
qsize 查看当前队列个数
full 判断队列是否满了
empty 判断队列是否为空
get(block,timeout) 获取信息 默认block True 同步
put(item,block ,timeout )添加信息
get_nowait()
put_nowait()

线程

多线程 threading Thread 类
实例 或者创建 派生类
用法和Process 差不多

可以共享全局变量 但是会产生 并发竞争 通过锁机制

Lock () 创建锁
acquire 获取锁
release 释放锁

互斥锁
特殊情况 死锁 解决方案 银行家算法 或者使用超时机制

消费者和生产者模式 通过 Queue 中Queue py2 py3 queue 中Queue 来解除线程之间的关联 解耦作用

全局变量多线程不受影响 通过 threading.local()

相关文章

  • linux-进程与线程 概括

    进程 运行的程序四种创建 方法第一种os模块 fork() 创建 fork在子进程和父进程中返回的值不同 子进程返...

  • Linux-创建进程与线程用到的函数解析

    Linux-创建进程与线程用到的函数解析 【1】exit: exit函数可以退出程序并将控制权返回给操作系统,而用...

  • 1.多线程基础(一)基础中基础

    1.前言 进程,线程和任务的基本概念的概括图 进程: 线程: 线程的串行: 线程和进程的区别: 多线程的优缺点: ...

  • 进程与线程概述

    进程与线程 首先来一句概括的总论:进程和线程都是一个CPU工作时间段的描述,进程是描述一定任务的,而线程是对应任务...

  • iOS_进程与线程(多进程与多线程)

    iOS_进程与线程(多进程与多线程)

  • Java 线程相关

    目录1.并行与并发2.进程与线程---- 2.1 进程---- 2.2 线程---- 2.3 进程与线程的区别--...

  • 并发编程之进程与线程

    并发编程之进程与线程 2.1 线程与进程 2.1.1 进程 2.1.2 线程 2.1.3 二者对比 2.2 并行与...

  • 进程与线程、线程池

    进程与线程的相关总结进程与线程的简单解释进程: 基本的资源分配资源线程: 最小调度单元 线程安全 线程安全是多线程...

  • 详解iOS面试:进程与线程

    进程与线程 进程 = 资源管理 + 线程, 进程是资源分配单位,线程是 CPU 调度单位 以前没有线程的时候,进程...

  • Python多线程与多进程

    内容简述: 线程与进程的相关概念1、程序,进程,线程,多进程,多线程2、线程的生命周期3、并行与并发,同步与异步4...

网友评论

      本文标题:linux-进程与线程 概括

      本文链接:https://www.haomeiwen.com/subject/ikdtxxtx.html