hmm... 如果是一个非常非常通用的协程模型,这个确实不能接受
不过,你之前说你这个是从epoll改过来的,那么epoll下面两个active的fd1和fd2,肯定也不该允许下面的时序
1. fd1的callback加线程锁,
2. 结束fd1的callback,不释放锁
3. fd2的callback加同一个线程锁
那为啥你的现在用协程就会出现两个协程同时获取同一个线程锁呢?
【 在 ylh1969 的大作中提到: 】
: 单线程协程,如果不同的协程对同一个线程锁进行操作,那就是重复操作,锁了又锁,解了又解。锁了又解,结果完全不可预知。从线程角度来看,完全是一个人自己在这里瞎折腾。
: 这个,你可以简单的测试一下,就在一个线程里,用各种标志进行操作看看结果。
: 至少,锁不住任何资源是肯定的。
--
FROM 75.31.75.*