Python网编_进程对象的其他方法

直接上代码:

from multiprocessing import Process
import time

class MyProcess(Process):
    def __init__(self,a,b):
        super().__init__()
        self.a = a
        self.b = b

    def run(self):
        print(‘start‘)
        time.sleep(0.1)
        print(self.a,self.b)

if __name__ == ‘__main__‘:
    p = MyProcess(0,1)
    p.start()
    print(p.is_alive())  # 查看进程是否活着
    p.terminate()
    print(p.is_alive())  # 理论上来讲执行到这的时候应该是False的,但是会有一些延迟,这也证明terminate()是非阻塞的,
                            # 就像start()一样,可以理解只是通知系统做某事儿而已
    print(p.name,p.pid)  # 进程的一些常见属性

p.is_alive()  查看进程会否“活着”

p.terminate()  终止进程

p.name  进程名称

p.pid  进程id

原文地址:https://www.cnblogs.com/gzying-01/p/10371562.html

时间: 2024-08-18 19:20:13

Python网编_进程对象的其他方法的相关文章

Python网编_进程之间的数据隔离

写在前面: 控制台的本质是一个文件 文件操作的时候尽量不要用r+ w+ a+ 如果用要小心文件指针混乱 随着进程数量的增多会有一些隐患 from multiprocessing import Process n = 100 # 定义一个全局变量 def func(): global n # 通过global改变n的值 n -= 1 if __name__ == '__main__': lis = [] for i in range(2): # 开启两个进程 p = Process(target=

Python网编_进程间的数据共享

Manager提供了很多数据共享机制,但是对于一些基础数据类型来说,是数据不安全的,那么Q:如何解决呢? A: 需要我们自己手动加锁 from multiprocessing import Manager,Process,Lock # Process开子进程用,Lock数据加锁用,Manager进程间数据共享用 def work(d,lock): # lock.acquire() # d['count'] -= 1 # lock.release() with lock: # 上下问管理 注意了l

Python网编_进程池的回调函数

将n个任务交给n个进程去执行每一个进程在执行完毕之后会有一个返回值,这个返回值交给callback函数指定的那个函数去处理这样的话所有的进程哪一个执行的最后快,哪一个就可以先进性统计工作这样就能在最短的时间内得到我们想要的结果 import time import random from multiprocessing import Pool def get(i): # 使用i模拟网站地址 在子进程中执行 time.sleep(random.random()) # 模拟不同的网站返回数据的时间

Python网编_守护进程

假如我有500台机器,跑着500个进程,假如有一部分台机器挂了,我们怎么能及时的知道呢?我们维护自己的机器当然要及时的直到啦so 如果我们有一个监控的软件来实时的监控是不是就可以解决这个问题啦其原理是:client端每隔一个时间段(比如60秒)汇报给server端 没有在正确的时间收到某台机器的汇报就说明这台机器出问题了,应该去看一看.那么如何做呢?在client端的主进程中开启一个子进程,通过这个子进程来汇报,看下面: from multiprocessing import Process i

进程对象的其他方法、守护进程、使用多进程实现 socket tcp协议 server端的并发(抢票程序)、队列、进程之间的通信(IPC)

# 进程对象的其他方法 from multiprocessing import Process import time class MyProcess(Process): def __init__(self, a, b): # 为了给子进程传递参数 super().__init__() self.a = a self.b = b def run(self): print("子进程开始执行") time.sleep(2) print("子进程结束", self.a,

Python网编_join方法

前言:我们知道父进程要负责回收子进程占用的系统资源(就是父要给子收尸)so父进程要等子进程结束之后收了尸才能结束,如果父进程先结束,子进程的资源就没法被回收,就会一直占用系统资源,就成了僵尸进程了我们的Python中如果父进程即使运行完了或者报错了也要等待子进程结束收了尸再结束 举个例子:我们要给500个人群发邮件 假设我们每发送一封邮件需要0.1s 总耗时0.1*500 = 50s 那么我们开启了10个进程,每个进程负责50个邮件 所有进程发送完邮件,我们需要得到一个通知:所有的进程都已经发送

python网编并发数据库

第一部分 必答题 简述 OSI 7层模型及其作用?(2分) 应用层:与用户直接交互,软件.网站等 表示层:使用软件.网站可以查看的数据,图片等 会话层:保持登录状态,电脑中为cookie 传输层:选择TCP/UDP协议,进行数据发送. 网络层:通过IP路径寻址,并且对数据进行封装 数据链路层:使用mac地址寻址,又进行了数据封装 物理层:将上面得到的数据转化为信号 简述 TCP三次握手.四次回收的流程.(3分) 三次握手: 第一次握手:Client将标志设置为SYN=1,随机产生一个seq=J,

网编提高 进程阶段

目录 进程的基础 2.操作系统 操作系统的发展史 多道技术 第二代 1955~1965 磁带存储--批处理系统 第三代集成电路,多道程序系统(1955~1965) 进程的理论(重点) 进程的创建(进程之间不允许通信)? 进程的状态 进程的基础 ? 1.程序 ? 一堆静态的代码文件 ? 2.进程 ? 一个正在运行的程序 ? 由操作系统操控调用交由cpu运行 ,被cpu运行 2.操作系统 ? 1.管理控制协调计算机中硬件与软件的关系 ? 2.操作系统的作用? ? 2.没有操作系统:你们在开发软件 ?

python学习笔记8--面向对象--属性和方法详解

属性: 公有属性  (属于类,每个类一份) 普通属性  (属于对象,每个对象一份) 私有属性    (属于对象,跟普通属性相似,只是不能通过对象直接访问) 方法:(按作用) 构造方法 析构函数 方法:(按类型) 普通方法 私有方法(方法前面加两个下划线) 静态方法 类方法 属性方法 静态方法 @staticmethod静态方法,通过类直接调用,不需要创建对象,不会隐式传递self 类方法 @classmethod类方法,方法中的self是类本身,调用方法时传的值也必须是类的公有属性,就是说类方法