11年6个月前IP:江西
773875
48楼
引用 金星凌日:
我知道这是非抢占式的。但这样的函数显然不能递归。而且,如果我没记错的话,这个协程在出现以下情况时会出错:函数A循环调用函数B和C,B和C都调用了D,而D中使用了这种协程。
你这是数据结构没设计好……产生这种问题的场景如多个线程都需要共用一个串口、socket、文件等唯一性的资源,商业软件都会通过队列来解决这种冲突(而不是每个地方都要层层调用直达最底层)。
你如果用单线程的思路去做,肯定会碰到很多问题,然后发现最好还是重构一下……
评论
文号 / 773875

实习会员
名片发私信
学术分 -1
总主题 9 帖总回复 982 楼拥有证书:进士 机友 笔友
注册于 2010/11/27 10:53:31最后登录 2026/10/29 21:51:43
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:0

个人简介

暂未填写
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的