进程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了进程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1621字,纯文字阅读大概需要3分钟。
内容图文
![进程](/upload/InfoBanner/zyjiaocheng/927/322288f830524efc9068165e01b70168.jpg)
进程
目录一、创建进程
Tips
- 在linux平台上,需要对每个进程对象调用join()方法,否则该进程将持续存在
- 在win平台上,子进程必须在if__name__="__main__"下执行
1.普通创建
1 from mutiprocessing import Process
2 p = Process(target=func, args=(arg,))
3 p.start()
2.类式创建
1 class MyProcess(Process):
2 def __init__(self):
3 super(MyProcess, self).__init__()
4
5 def run(self):
6 # 需要多进程执行的逻辑(任务)
7
8 if __name__ == '__main__':
9 p_list = []
10 for i in range(3):
11 p = MyProcess()
12 p.start()
13 p_list.append(p)
14
15 for p in p_list:
16 p.join()
二、进程对象的静态字段
daemon # 设置为True的话,随主进程结束而结束
name # 进程名字,创建进程对象时自动生成
pid # 进程号
三、进程对象的方法
1 start()
2 join()
3 Setdaemon()
4 lock()
5 Rlock()
6 is_alive() # 判断进程是否在运行
7 run()
8 terminate() # 立即停止该进程
四、查看进程号
1 os.getppid() # 查看父进程id
2 os.getpid() # 查看自己的id
五、队列(queue)
Tips
- 用来存放共享数据的
- 如果子进程想用队列数据,需要将队列对象通过参数传入,因为进程间数据是独立的
from mutiprocessing import Queue
q = Queue()
q.put([arg,arg])
q.get()
六、Pipe
Tips
- 用来进程间的通信的
from multiprocessing import Pipe,Process
def func(conn):
conn.send()
conn.close()
parent_conn,child_conn = Pipe()
p = Process(target=func, args=(child_conn,))
p.start()
print(parent_conn.recv())
七、Manager
Tips
- 用来进程间共享数据的
from multiprocessing import Manager
with Manager() as manager:
dic = manager.dict()
lst = manager.list()
# 用法: 创建进程对象,并传入上述序列,需在缩进语句下创建
内容总结
以上是互联网集市为您收集整理的进程全部内容,希望文章能够帮你解决进程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。