----------------------------------无法改变风向,可以调整风帆;无法左右天气,可以调整心情。如果事情无法改变,那就去改变观念。

# # ------------------------------------------------------------------------------------------------------------#
# # --------------[线程队列]--------------

# import queue

#先进先出队列
# q = queue.Queue(3) #创建了一个长度为3的队列,也就是说,最多只能放3个数据
#
# q.put(2)
# print('>>>>',q.qsize())
# q.put(5)
# print('>>>>',q.qsize())
# q.put(0)
#
# # q.put(1)
# try:
# q.put_nowait(1)
# except Exception:
# print('队列满了')
# print(q.get())
# print(q.get())
# print(q.get())
# # print(q.get())
# # print(q.get_nowait()) #后进先出,先进后出 # import queue
#
# q = queue.LifoQueue(3)
#
# q.put(1)
# q.put(2)
# q.put(3)
#
# print(q.get())
# print(q.get())
# print(q.get()) # 优先级队列 import queue q = queue.PriorityQueue(5) q.put((3,33)) q.put((1,2))
q.put((1,3))
# q.put((1,(3,2)))
# q.put((1,(1,2))) q.put((2,22))
q.put((4,44)) print(q.get())
print(q.get())
print(q.get())
print(q.get())
print(q.get()) # # --------------[创建线程池]-------------- import time
from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor
from multiprocessing import Pool def func(n):
# print(n)
time.sleep(1)
return n * n if __name__ == '__main__':
# t_p = ThreadPoolExecutor(max_workers=4)
t_p = ProcessPoolExecutor(max_workers=4)
# p_pool = Pool(4)
res_list = [] for i in range(10):
res = t_p.submit(func,i) #异步提交任务
# print(res.result()) #等待任务的执行结果,拿不到就阻塞,拿到了再运行
res_list.append(res) t_p.shutdown() print('主线程结束') for res1 in res_list:
print(res1.result()) # for i in range(10):
# res = p_pool.apply_async(func,args=(i,))
# # print(res)
# print(res.get()) # # --------------[进程池的map方法]-------------- import time
from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor
from multiprocessing import Pool def func(n):
# print(n)
time.sleep(1)
return n * n if __name__ == '__main__':
t_p = ThreadPoolExecutor(max_workers=4)
# t_p = ProcessPoolExecutor(max_workers=4)
# p_pool = Pool(4)
# res_list = [] res = t_p.map(func,range(10)) #
# print(res)
t_p.shutdown() print('主线程结束')
for i in res:
print(i) # print([t1 for t1 in res])
# for i in range(10):
# res = t_p.submit(func,i) #异步提交任务
# # print(res.result()) #等待任务的执行结果,拿不到就阻塞,拿到了再运行
# res_list.append(res)
#
# t_p.shutdown()
#
# print('主线程结束')
#
# for res1 in res_list:
# print(res1.result()) # for i in range(10):
# res = p_pool.apply_async(func,args=(i,))
# # print(res)
# print(res.get()) # # --------------[回调函数]-------------- import time
from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor
from multiprocessing import Pool def func(n):
time.sleep(1)
return n * n def call_back(m):
print('>>>>>',m)
print(m.result()) if __name__ == '__main__':
# t_p = ThreadPoolExecutor(max_workers=4)
t_p = ProcessPoolExecutor(max_workers=4)
p_pool = Pool(4)
res_list = [] res = t_p.submit(func,10).add_done_callback(call_back) # p_pool.apply_async(func,args=(10,),callback=call_back)
# for i in range(10):
# res = p_pool.apply_async(func,args=(i,))
# # print(res)
# print(res.get())

最新文章

  1. 一个链式调用 setTimeout的例子
  2. Oracle 常见问题
  3. 父子进程间通信模型实现(popen)
  4. 如何签名apk,并让baidu地图正常显示
  5. linux是实时系统还是分时操作系统
  6. [转载]tcp可靠性的好文
  7. VmWare问题解决(网络变更后虚拟主机无法上网)
  8. Silverlight客户端调用WCF服务难题解疑
  9. MYSQL开发技巧之行转列和列转行
  10. sprinfmvc学习--01
  11. poj 1142 Smith Numbers
  12. KNN算法--物以类聚,人以群分
  13. Linux系统Shell脚本编程
  14. 利用广度优先搜索(BFS)与深度优先搜索(DFS)实现岛屿个数的问题(java)
  15. Nuxt.js学习
  16. bug笔记(pc)
  17. SpringBoot(十三):springboot2.0.2定时任务
  18. C语言 · 8皇后问题改编
  19. ubuntu12.04下编译Linux tina 2.1/android经验
  20. Orchard Core 模块化

热门文章

  1. PhpStorm和WAMP配置调试参数,问题描述Error. Interpreter is not specified or invalid. Press “Fix” to edit your project configuration.
  2. [python]函数返回多个return值
  3. AlexNet卷积神经网络【前向反馈】
  4. 转:Log Explorer使用说明恢复被误删除的数据
  5. MySQL 系列(四) 主从复制、读写分离、模拟宕机、备份恢复方案生产环境实战
  6. Fetch请求后台的数据
  7. 【PS技巧】如何拼图
  8. 近日使用Taro框架的一点小心得
  9. B树索引分裂
  10. google colab 使用指南