from multiprocessing import Process import time import os # # def acb(n): # print(n) # # # if __name__ == '__main__': # p1 = Process(target=acb, args=("ready", )) # p1.start() # time.sleep(1) # print("end") # class MP(Process): # def __init__(self, this): # super().__init__() # self.this = this # print(self.this) # # def run(self): # print("hehe") # print(os.getpid()) # print(self.pid) # # def start(self): # super().start() # print("game over") # # # if __name__ == '__main__': # mp = MP("2b") # mp.start() # time.sleep(1) # print("可以滚了!") # print(bin(10)) # print(int("0b1010", 2)) # print(oct(10)) # print(int("0b1010", 2)) # print(hex(10)) # print(int("0xa", 16)) # a = 10 # def dd(): # global a # a = 11 # print(a) # dd() # print(a) # def abc(x, y, m, n): # print(m-n) # print(x, y) # # # if __name__ == '__main__': # p = Process(target=abc, args=(5, 0), kwargs={"n": 100, "m": 998}) # 关键字参数必须对应相同的关键字名称 # p.start() # print("睡一会!") # time.sleep(10) # print("咚咚咚, 结束了") # me = 998 # # def sub_process(): # st_time = time.time() # global me # 引入全局变量 # me = 666 # print(me) # end_tiem = time.time() # print(end_tiem-st_time) # # # if __name__ == '__main__': # main_p = Process(target=sub_process) # 定义子进程 # # main_p.start() # time.sleep(3) # 趴三秒 # print(me) # main进程变量 # def c(): # print(5) # time.sleep(5) # print(4) # time.sleep(5) # # # if __name__ == '__main__': # p = Process(target=c) # p.start() # time.sleep(6) # p.terminate() # print("end") # join 方法, 等待子进程执行结束执行下后续代码(阻塞状态) # def p(m=0): # print(m, 111) # if __name__ == '__main__': # # p1 = Process(target=p,) # # p1.start() # # p1.join() # p_lst = [] # for i in range(8): # p1 = Process(target=p, args=(i,)) # p1.start() # p_lst.append(p1) # # p1.join() # 等待进程结束后执行下一次循环,效率低 # for p in p_lst: # 所有进程异步, 等待结束执行主程序, 阻塞等待所有进程结束后放开 # p.join() # # print("end") # 僵尸进程, 子程序还在执行,主程序已经执行完毕, 但是主进程并未完全退出, 依然跟随子进程 # 孤儿进程, 主进程开启子进程后异常关闭, 子进程依然继续执行 # 守护进程, 主进程退出后,子进程会跟随其同时退出, 不受保护, 主进程退出时不考虑子进程的运行状态, # def pp(): # time.sleep(2) # print(1) # if __name__ == '__main__': # p = Process(target=pp,) # p.daemon = True # 设置p为守护进程, # p.start() # # p.daemon = True # 没开始就结束了,要报错的 # print(11) # 非阻塞# 设置阻塞状态立即执行,不等待 # import socket # s = socket.socket() # address = ("192.168.15.102", 8880) # s.bind(address) # s.setblocking(False) # 不等待..,要报错的 # s.listen(0) # c, d = s.accept()