zoukankan      html  css  js  c++  java
  • 进程---Process

    #! /usr/bin/env python
    # -*- coding:utf-8 -*-

    """
    python中的多线程其实并不是真正的多线程(全局解释器锁(GIL)存在)
    多进程包multiprocessing:可以轻松完成从单进程到并发执行的转换
    multiprocessing支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件
    """
    import multiprocessing
    import time
    """
    创建进程的类:Process([group [, target [, name [, args [, kwargs]]]]]),
    target表示调用对象,
    args表示调用对象的位置参数元组。
    kwargs表示调用对象的字典。
    name为别名。
    group实质上不使用。
    方法:is_alive()
    join([timeout])
    run()
    start() 启动某个进程
    terminate()


    属性:
    authkey
    daemon(要通过start()设置) 在子线程设置后父进程终止后自动终止,且自己不能产生新进程,必须在start()之前设置。
    exitcode(进程在运行时为None、如果为–N,表示被信号N结束)、
    name
    pid
    """

    ## 将进程定义为类

    class ClockProcess(multiprocessing.Process):
        def __init__(self, interval):
            multiprocessing.Process.__init__(self)
            self.interval = interval
    
        def run(self):
            n = 5
            while n > 0:
                print("the time is {0}".format(time.ctime()))
                time.sleep(self.interval)
                n -= 1
    
    
    if __name__ == '__main__':
        p = ClockProcess(3)
        p.start()
    

      

  • 相关阅读:
    守护线程Daemon的理解
    Activity并行网关和排他网关
    Activity快速入门理解
    java虚拟机内存区域理解
    Maven的使用
    Mybatis拦截器(插件实现原理)
    網絡上好的博客收集
    jdbc 设置连接支持多条sql
    python 多环境安装
    Linux 系统命令
  • 原文地址:https://www.cnblogs.com/wuxinyan/p/9129936.html
Copyright © 2011-2022 走看看