摘要: 当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。 初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Po 阅读全文
posted @ 2018-05-29 20:44 汪凡 阅读(260) 评论(1) 推荐(1) 编辑
摘要: 1. Queue的使用 可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示一下Queue的工作原理: 运行结果: 初始化Queue()对象时(例如:q=Queue()),若括号中没有指定最大可接收的消息数量,或数量 阅读全文
posted @ 2018-05-29 20:24 汪凡 阅读(227) 评论(0) 推荐(0) 编辑
摘要: import socket import threading def send_msg(udp_socket): """获取键盘数据,并将其发送给对方""" while True: # 1. 从键盘输入数据 msg = input("\n请输入要发送的数据:") # 2. 输入对方的ip地址 dest_ip = ... 阅读全文
posted @ 2018-05-29 20:09 汪凡 阅读(147) 评论(0) 推荐(0) 编辑
摘要: flist = [] # 创建了一个空列表 for i in range(3): # 循环三次 def foo(x): # 定义三次函数 print (x + i) flist.append(foo) # 把三次函数的引用放到列表中 for a in flist: # 按个遍历列表里的三个函数的引用 a(2) # 每个... 阅读全文
posted @ 2018-05-29 14:01 汪凡 阅读(283) 评论(0) 推荐(0) 编辑
摘要: import socket import gevent from gevent import monkey monkey.patch_all() def cb_work(recv_num,send_num): while True: recv_data=list_client[recv_num][0].recv(1024).decode("gbk") ... 阅读全文
posted @ 2018-05-29 13:53 汪凡 阅读(715) 评论(0) 推荐(0) 编辑
摘要: import re str='sfafsf,34234234234,1231313132,37132719991123463x,sdefgr54184785ds85,' \ '4864465asf86845,372526198911233456' con = re.findall(r'[\d]{17}[0-9xX]' , str) for i in con: print('身... 阅读全文
posted @ 2018-05-29 13:50 汪凡 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 这里我们暂且先不提全局解释器锁,从这个代码例子里我们可以看出,一个锁在上锁以后,如果在没有释放它的情况下再要对它上锁,他就会阻塞住,一直到它的锁被释放了以后才能够再次被上锁,这样就实现了两个线程的交替执行。 阅读全文
posted @ 2018-05-29 13:46 汪凡 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 客户端: 服务端: 阅读全文
posted @ 2018-05-29 12:42 汪凡 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 这里让客户端给服务端发送的数据被服务端自动发回来 客户端: 服务端: 服务端这里不需要编码或者解码,直接回发就行 阅读全文
posted @ 2018-05-29 12:37 汪凡 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 客户端: 服务端: 阅读全文
posted @ 2018-05-29 12:32 汪凡 阅读(805) 评论(0) 推荐(0) 编辑
摘要: import socket if __name__ == '__main__': # 创建tcp服务端socket tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 立即释放端口号,重用端口 # SOL_SOCKET: 表示当前socket # SO_REUSE... 阅读全文
posted @ 2018-05-29 12:29 汪凡 阅读(313) 评论(0) 推荐(0) 编辑
摘要: import socket # 和udp的区别显而易见,udp发送和接收的是一个元祖,因为udp是不建立连接的,只有得到了对方的端口和ip才能进行沟通。 # 而tcp不是,tcp发送和接受的是一个字符串,因为在进行通信前必须先建立好连接确定好了ip以及端口, # 所以不用在接受和发送的时候去特地的发送或者接受端口号和ip地址。 # 总结来说TCP有以下几点: # 面向连接(确认有创建三... 阅读全文
posted @ 2018-05-29 12:27 汪凡 阅读(381) 评论(0) 推荐(0) 编辑
摘要: import turtle turtle.screensize(400, 300, "pink") turtle.setup(1000, 600) turtle.write('作者:好一朵玫瑰花 ', move = True, align = 'left', font = ('楷体', 16, 'normal')) # 设置初始位置 turtle.penup() turt... 阅读全文
posted @ 2018-05-29 12:14 汪凡 阅读(2124) 评论(0) 推荐(0) 编辑