摘要: 多一步操作 同步锁: 遇到任何阻塞或者time.sleep()都会执行完才切换线程。 运行结果: 最后一个数字:0 阅读全文
posted @ 2018-09-09 19:00 Kay_xs 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 继承式调用 能够让CPU运行起来的就是线程! 主线程与子线程都可以调动CPU。 阅读全文
posted @ 2018-09-08 12:04 Kay_xs 阅读(126) 评论(0) 推荐(0) 编辑
摘要: t1.start() # 执行线程t1.join() # 阻塞 t1.setDaemon(True) #守护线程 threading.current_thread() # 查看执行的是哪一个线程threading.active_count() # 活动着的主线程与子线程 阅读全文
posted @ 2018-09-07 21:21 Kay_xs 阅读(85) 评论(0) 推荐(0) 编辑
摘要: t2.setDaemon(True)不再等待里面的sleep(5)。 当设成setDaemon(True)这个线程就不等了。 例子一: threads = [] t1 = threading.Thread(target=music,args=("小苹果",)) threads.append(t1) 阅读全文
posted @ 2018-09-07 21:18 Kay_xs 阅读(119) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2018-09-07 17:47 Kay_xs 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 利用阻塞的时间空闲去执行另一个子线程 代码运行结果: 阅读全文
posted @ 2018-09-07 16:36 Kay_xs 阅读(70) 评论(0) 推荐(0) 编辑
摘要: cpu在执行一个子线程的时候遇到sleep就会利用这段停顿时间去执行另一个子线程。两个子线程谁先跳出sleep就执行谁。 import threadingimport timestart = time.time()def foo(n): print("foo%s" % n) # 1执行 time.sleep(2) # 停2秒 print("foo执行结束") ... 阅读全文
posted @ 2018-09-06 22:35 Kay_xs 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 使用socketserver实现并发聊天 服务端可以比喻做一部电话。 ("127.0.0.1", 8000) 比喻做服务端的一个号码。 1,server.py 2, client.py 阅读全文
posted @ 2018-09-06 14:25 Kay_xs 阅读(191) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2018-09-05 16:03 Kay_xs 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 1, 下载地址https://www.crummy.com/software/BeautifulSoup/#Download 2,解压到自己记得的路径 3, cmd下开始安装 4 ,最后一步 安装成功 阅读全文
posted @ 2018-09-04 20:57 Kay_xs 阅读(330) 评论(0) 推荐(0) 编辑