进程---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的主要内容,如果未能解决你的问题,请参考以下文章