面试) 多线程一般使用在进行io操作。
多线程一般使用在进行io操作。
在python中由于GIL线程就是“鸡肋”
使用场景:
创建订单时候, 对于每张表都可以使用线程进行操作。
- 比如一个业务逻辑需要并行的操作几个文件的读写,还得是同步执行,不能异步执行,这时候就可以开启多线程来读写这几个文件
- 视图中需要请求多个第三方接口,仍然也是要求同步的,不能异步,这时候也可以用多线程去并行请求多个第三方接口
- 比如在订单系统中,订单提交后就要修改商品的库存、商品的销量等这样的操作
解决办法:
方法1:可以使用锁把这段代码锁住,让多线程排队依次操作这段代码。但是这个方法效率比较低。
方法2:使用乐观锁,对于上个线程处理后通知其他线程来执行这段代码