Python进程,多进程,获取进程id,给子进程传递参数操作示例
作者:houyanhua1 发布时间:2021-01-13 09:39:47
标签:Python,进程,多进程
本文实例讲述了Python进程,多进程,获取进程id,给子进程传递参数操作。分享给大家供大家参考,具体如下:
线程与线程之间共享全局变量,进程之间不能共享全局变量。
进程与进程相互独立 (可以通过socket套接字实现进程间通信,可以通过硬盘(文件)实现进程通信,也可以通过队列(Queue)实现进程通信)
子进程会拷贝复制主进程中的所有资源(变量、函数定义等),所以子进程比子线程耗费资源。
demo.py(多进程):
import threading # 线程
import time
import multiprocessing # 进程
def test1():
while True:
print("1--------")
time.sleep(1)
def test2():
while True:
print("2--------")
time.sleep(1)
def main():
# t1 = threading.Thread(target=test1) # 线程
# t2 = threading.Thread(target=test2)
# t1.start() # 多线程的方式实现多任务
# t2.start()
p1 = multiprocessing.Process(target=test1) # 进程 (进程比线程占用资源多)
p2 = multiprocessing.Process(target=test2)
p1.start() # 多进程的方式实现多任务 (进程比线程占用资源多)
p2.start()
if __name__ == "__main__":
main()
demo.py(获取进程、父进程id):
import multiprocessing
import os
import time
def test():
while True:
print("----in 子进程 pid=%d ,父进程的pid=%d---" % (os.getpid(), os.getppid()))
time.sleep(1)
def main():
# os.getpid() 获取当前进程的进程id
# os.getppid() 获取当前进程的父进程id
print("----in 主进程 pid=%d---父进程pid=%d----" % (os.getpid(), os.getppid()))
p = multiprocessing.Process(target=test)
p.start() # 开启子进程
if __name__ == "__main__":
main()
demo.py(给子进程传递参数):
import multiprocessing
def test(a, b, c, *args, **kwargs):
print(a) # 11
print(b) # 22
print(c) # 33
print(args) # (44, 55, 66, 77, 88)
print(kwargs) # {'age': 20, 'name': '张三'}
def main():
p = multiprocessing.Process(target=test, args=(11, 22, 33, 44, 55, 66, 77, 88), kwargs={"name": "张三","age": 20})
p.start()
if __name__ == "__main__":
main()
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/houyanhua1/article/details/84330952


猜你喜欢
- 前言本文主要给大家介绍的是关于SQL Server查找包含空格的表和列的相关内容,为什么会有这篇文章,是因为最近发现一个数据库中的某个表有个
- while循环是PHP中最简单的循环,其基本格式为:while (expr){ statement } 或者while (ex
- goto语句在Go编程语言中的goto语句提供无条件跳转从跳转到标记声明的功能。注意:使用goto语句是高度劝阻的在任何编程语言,因为它使得
- 本文实例为大家分享了python实现分页效果展示的具体代码,供大家参考,具体内容如下难点:清空Layout#!/usr/bin/python
- Pandas是一个用于数据分析和操作的Python库。在pandas中几乎所有的操作都围绕着DataFrame。Dataframe是一个二维
- 一.字典的基本方法1.新建字典1)、建立一个空的字典>>> dict1={} >>> dict2=dic
- 这篇文章主要介绍了Python线程条件变量Condition原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多系列文章。今天一个很简单的功能,触发了一个
- 前面介绍了关于用户账户的User表,但是现实生活中随着问题的复杂化数据库存储的数据不可能这么简单,让我们设想有另外一张表,这张表和User有
- 解决大于5.7版本mysql的分组报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated原因:MySQL 5.7.5和up实现了对功能依赖的检测。如果启用了only_full_group_by SQL模式(在默认情况下是这样),
- 本文实例讲述了python实现class对象转换成json字典的方法。分享给大家供大家参考,具体如下:# -*- encoding: UTF
- 今天来给大家讲讲python中最基本的 if 条件语句,这几乎是所有编程语言中都存在的语句,只是语法结构稍有不同。程序之
- python将字符串转换成数组的方法。分享给大家供大家参考。具体实现方法如下:#------------------------------
- asp自定义错误显示方法:<html><head><meta http-equiv="Co
- 看到一篇Implementing an Infinite Scroll with Vue.js , 觉得挺实用的就看了下, 顺便简单翻译了一
- 前言python作为一门脚本语言,其好处是语法简单,很多东西都已经封装好了,直接拿过来用就行,所以实现同样一个功能,用Python写要比用C
- 一、函数介绍pytorch中两个张量的乘法可以分为两种:两个张量对应元素相乘,在PyTorch中可以通过torch.mul函数(或*运算符)
- 写了个多层感知器,用bp梯度下降更新,拟合正弦曲线,效果凑合。# -*- coding: utf-8 -*-import numpy as
- 在SQL Server中进行开发会让你身处险地,并且寻找快速解决方案。我们编辑了前十名关于SQL Server开发的常见问题。对常见的针对表
- 通过valuelist的queryMap传递过来的参数默认都为string类型,在valuelist配置文件的hql中,如果直接将该值赋给整