在加锁上,感觉多线程执行协程可能是个噩梦?
如果A1,A2,...,An这些协程都可能在t1,t2,...,tn这些线程上执行,那么访问共享资源时直接无脑全部加锁就行,
怕的就是一组协程G1在一个线程t1上执行,而另外一组协程G2在另外一个不同的线程t2上执行,G1和G2这两个协程组之间访问共享资源时需要加锁,协程组内的资源不需要加锁。
也就是对于每个协程,需要很清楚它会在哪个线程上执行,数量多了时基本晕菜?
不过如果不采用协程而是采用普通的函数调用,在多线程时也存在这个问题。
也就是说在判断是否要加锁时,直接把协程视为普通的函数调用(即:协程之间的切换并不会发生线程切换)来处理。
※ 修改:·z16166 于 Sep 21 21:45:52 2020 修改本文·[FROM: 221.220.175.*]
※ 来源:·水木社区
http://www.newsmth.net·[FROM: 221.220.175.*]
修改:z16166 FROM 221.220.175.*
FROM 221.220.175.*