Python并行编程的几个要点

一、基于线程的并行编程

  • 如何使用Python的线程模块
  • 如何定义一个线程
  • 如何探测一个线程
  • 如何在一个子类中使用线程
  • LockRLock实现线程同步
  • 信号实现线程同步
  • 条件(condition)实现线程同步
  • 事件(event)实现线程同步
  • 如何使用with语句
  • 使用队列实现线程消息传递
  • 如何评估多线程应用的性能
  • 兑现成编程的危险

二、基于进程的并行编程

  • 如何使用Python的multiprocessing模块
  • 如何生成一个进程
  • 如何命名一个进程
  • 如何在后台运行一个进程
  • 如何杀死一个进程
  • 如何在子类中使用进程
  • 如何在进程间交换对象
  • 使用队列在进程间交换对象
  • 使用管道在进程间交换对象
  • 如何实现进程同步
  • 如何管理不同进程间的状态
  • 如何使用进程池
  • 如何使用Python的mpi4py模块
  • 端到段通信
  • 避免死锁问题
  • 使用广播(broadcast)进行集体间通信
  • 使用散点(scatter)函数进行集体间通信

三、异步编程

  • 如何使用concurrent.futures模块
  • Asyncio事件循环管理
  • Asyncio处理协程
  • Asyncio任务管理
  • Dealing with Asyncio and Futures
  • Gevent
  • Tornado
  • Twsited

四、分布式Python

  • 使用Celery分布任务
  • 如何通过Celery创建任务
  • SCOOP科学计算
  • SCOOP处理map函数
  • Pyro4远程方法调用
  • Pyro4对象组链
  • 使用Pyro4开发客户/服务应用
  • PyCSP进程序列化通信
  • Disco的MapReduce使用
  • RPyC远程程序调用

参考:

上一篇:Hibernate部署问题总结


下一篇:[LeetCode] The Maze II 迷宫之二