# Process类# 创建进程的类'''
# 常用属性和方法
pid 获取进程的ID
name 获取进程的名称
Process([group [, target [, name [, args [, kwargs]]]]])
'''# 创建一个执行进程 参数定义如下 :target表示调用对象,args表示调用对象的位置参数元组。# kwargs表示调用对象的字典。name为别名。group实质上不使用import multiprocessing
from time import sleep
'''
方法:is_alive()、join([timeout])、run()、start()、terminate()。其中,Process.tart()启动某个进程。
属性:authkey、daemon(要通过start()设置)、exitcode(进程在运行时为None、如果为–N,表示被信号N结束)、
name、pid。其中daemon是父进程终止后自动终止,且自己不能产生新进程,必须在start()之前设置。
'''# 创建多进程 获取进程id 进程名称# current_process().pid current_process().namedefworker_1():
for i inrange(10):
print('进程id%s,进程名称%s' %
(multiprocessing.current_process().pid,multiprocessing.current_process().name))
sleep(1)
defworker_2():
for i inrange(10):
print('进程id%s,进程名称%s' %
(multiprocessing.current_process().pid, multiprocessing.current_process().name))
sleep(1)
defmain():
process_1=multiprocessing.Process(target=worker_1)
process_2 = multiprocessing.Process(target=worker_2)
process_1.start()
process_2.start()
if __name__ == '__main__':
main()
# 将进程定义为类import multiprocessing
import time
classMyProcess(multiprocessing.Process):
def__init__(self, interval):
multiprocessing.Process.__init__(self)
self.interval = interval
defrun(self):
n = 5while n > 0:
print("the time is {0}".format(time.ctime()))
time.sleep(self.interval)
n -= 1if __name__ == '__main__':
p = MyProcess(3)
p.start()
# 进程类控制方法# terminate() 进程中断执行# join() 进程强制执行# is_alive()判断进程是否还存活import multiprocessing
import time
defwork(count, t):
for i inrange(count):
print('this time is %s' % time.ctime())
time.sleep(t)
defwork2(count, t):
for i inrange(count):
print('this time is %s' % time.ctime())
time.sleep(t)
defmain():
p1 = multiprocessing.Process(target=work, args=(5, 2))
p2 = multiprocessing.Process(target=work2, args=(3, 1))
p1.start()
if p1.is_alive():
p1.terminate()
print('p1被中段')
else:
passifnot p2.is_alive():
p2.start()
p2.join()
print('p2被强制执行')
if __name__ == '__main__':
main()
# 守护进程import multiprocessing
import time
defwork(count, t):
for i inrange(count):
p2 = multiprocessing.Process(target=work2, args=(1,))
p2.start()
print('this time is %s' % time.ctime())
time.sleep(t)
defwork2(t):
print('守护进程的'+'this time is %s' % time.ctime())
time.sleep(t)
defmain():
p1 = multiprocessing.Process(target=work, args=(5, 2))
p1.start()
if __name__ == '__main__':
main()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现