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()