摘要: 锁 —— multiprocess.Lock (进程同步) 之前我们千方百计实现了程序的异步,让多个任务可以同时在几个进程中并发处理, 但是它们之间的运行没有顺序,一旦开启也不受我们控制。 尽管并发编程能让我们更加充分的利用IO资源,但是也会带来新的问题。 当多个进程使用同一份数据资源的时候,就会引发数据安全或顺序混乱问题。 遇到数据、安全比速度重要的场景,我们就需要将进程变回受同步控制。 阅读全文
posted @ 2018-05-15 21:03 铁乐猫 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 进程之间的数据共享 基于消息传递的并发编程是大势所趋, 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。 这样极大地减少了对使用锁和其他同步手段的需求,还可以扩展到分布式系统中。 但进程间应该尽量避免通信,即便需要通信,也应该选择进程安全的工具来避免加锁带来的问题。 以后我们会尝试使用数据库来解决现在进程之间的数据共享问题。 阅读全文
posted @ 2018-05-15 21:01 铁乐猫 阅读(226) 评论(0) 推荐(0) 编辑