首页 > 科技 >

Python网络编程(进程池、进程间的通信)(4)

2018-08-17 23:04:36 网络整理 阅读:116 评论:0

block:默认True表示当队满时阻塞

设置为False 则为非阻塞

timeout:当block为True是表示超时检测

data = q.get([block,timeout])

功能:取出消息

参数:

block:设置为True 当队列为空时阻塞

设置为False表示非阻塞

timeout:

当block为True是表示超时检测

q.full() 判断队列是否为满

q.empty() 判断队列是否为空

q.qsize() 获取队列中消息的数量

q.close() 关闭队列

共享内存通信:

在内存中开辟一段空间存储数据对多个进程可见,

每次写入共享内存中的内容都会覆盖之前内容

对内存的读操作不会改变内存中的内容

form multiprocessing import Value,Array

shm = Value(ctype,obj)

功能:共享内存共享空间

参数:

ctype:字符串 要转换的c语言的数据类型

obj:共享内存的初始数据

返回值:返回共享内存对象

shm.value:

表示共享内存的值

示例:

Python网络编程(进程池、进程间的通信)(4)

shm = Array(ctype,obj)

功能:

开辟共享内存空间

参数:

ctype:要转换的数据类型

obj:

要存入共享内容的的数据(结构化数据)

列表、字符串 表示要存入得内容

要求数据结构内的类型相同

整数 表示要开辟几个单元的空间

返回值:

返回共享内存对象 可迭代对象

示例:

Python网络编程(进程池、进程间的通信)(4)

相关文章