首页 > 系统服务 > 详细

并发编程[第二篇]进程

时间:2019-07-27 21:59:06      阅读:85      评论:0      收藏:0      [点我收藏+]

一.进程的两种调用方式

 进程的调用方式类似线程

--直接调用自定义的目标函数

from multiprocessing import Process
import time
def myThreading():
    time.sleep(2)
    print(子线程正在运行,time.ctime())

def myThreading1():
    time.sleep(4)
    print(子线程1正在运行,time.ctime())


if __name__ == __main__:
    q = Process(target=myThreading)
    q1 = Process(target=myThreading1)

    # q.daemon
    # q1.daemon

    q.start()
    q1.start()

    # q.join()
    # q1.join()

    print(主线程正在运行,time.ctime())

 

--继承父类并改写其run函数

from multiprocessing import Process
import time

class MyProcess(Process):
    def __init__(self):
        super(MyProcess, self).__init__()
        #self.name = name

    def run(self):
        time.sleep(1)
        print (hello, self.name,time.ctime())


if __name__ == __main__:
    p_list=[]
    for i in range(3):
        p = MyProcess()
        p.start()
        p_list.append(p)

    for p in p_list:
        p.join()

    print(end)

 

多个进程之间使用的资源不同,内存地址自然不同

# from multiprocessing import Process
# n=100 #在windows系统中应该把全局变量定义在if __name__ == ‘__main__‘之上就可以了
# def work():
#     global n
#     n=0
#     print(‘子进程内: ‘,n)
#
# #进程直接的内存空间是隔离的
# if __name__ == ‘__main__‘:
#     p=Process(target=work)
#     p.start()
#     print(‘主进程内: ‘,n)

 

 

未完待续。。。。。线程队列,进程池

并发编程[第二篇]进程

原文:https://www.cnblogs.com/xxp1624/p/11256744.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!