WebRTC的线程事故处置惩罚

打印 上一主题 下一主题

主题 1855|帖子 1855|积分 5575

1. 差别平台下处置惩罚事故的API:


  • Linux体系下,处置惩罚事故的API是epoll或者select;
  • Windows体系下,处置惩罚事故的API是WSAEventSelect,完全端口;
  • Mac体系下,kqueue
2. WebRTC下的事故处置惩罚类:


  • NullSocketServer(处置惩罚无socket的事故)(工作线程)
  • PhysicalSocketServer(处置惩罚有socket事故)(网络线程)
事故如何协调线程工作:
信令线程—>触发事故—>公共对象(NullSocketServer或PhysicalSocketServer)(唤醒睡眠线程)—>期待事故(睡眠状态)—>工作线程/网络线程

webrtc下事故的发生:

期待线程处置惩罚逻辑:

  1. while(true)
  2. {
  3.         …
  4.         Get(&msg, …); // 如果没有时间,在Get()函数中睡眠等待事件
  5.         …
  6.         Dispatch(&msg);
  7.         …
  8. }
复制代码
Get函数:
假如队列不为空,则取失事故后调用Dispatch处置惩罚;假如队列为空,则调用Wait期待事故发生

Wait函数:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

篮之新喜

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表