进程---Process

Posted wuxinyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程---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()

  

以上是关于进程---Process的主要内容,如果未能解决你的问题,请参考以下文章

java掉系統进程

C# - 进程 - 异步 - 读取所有输出

C#新进程窗口不隐藏[重复]

使用命令行获取进程 ID

Windows与Linux获取进程集合的方法

在任务管理器 C# 中提交进程的大小