摘要: concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor:线程池,提供异步调用 ProcessPoolExecutor: 进程池,提供异步调用 阅读全文
posted @ 2018-05-23 19:57 铁乐猫 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 信号量 semaphore 允许统一时刻n个线程执行这段代码 事件 event 有一个内部的事件来控制wait的行为且控制的是所有的线程 条件 condition 有一个内部的条件来控制wait的行为,可以逐个或者分批次的控制线程的走向 阅读全文
posted @ 2018-05-23 18:12 铁乐猫 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 加锁会让运行变成串行,而在start之后立即使用join,不用加锁了也是串行的效果。那么为什么使用加锁呢? 在start之后立刻使用jion,也会将100个任务的执行变成串行,最终n的结果是0,也是安全的, 但问题是start后立即join:任务内的所有代码都是串行执行的, 而加锁,只是加锁的部分即修改共享数据的部分是串行的, 单从保证数据安全方面,二者都可以实现,但很明显是加锁的效率更高. 阅读全文
posted @ 2018-05-23 17:57 铁乐猫 阅读(216) 评论(0) 推荐(0) 编辑