webrtc 的线程模型

        webrtc 的PC Factory 拥有3个线程:

         1)signaling_thread_  :所有PC Factory 和PC 的对外接口,都会切换到signaling_thread_  执行,而PC Observer 所有的回调函数也都在signaling_thread_   执行。

        2) network_thread_:和网络有关的操作都在 network_thread_执行,比如收发数据包、绑定网络端口等。

        3) worker_thread_:和网络无关的可能耗时的操作,都在worker_thread_执行。

1 三大线程的使用

        1)对外接口线程切换

        对PC 接口的调用总是进入到api/peer_connection_proxy.h中,

         这就是对外接口的线程切换代码。因为切换线程最终都是向目标线程提交一个任务,但这个过程需要做参数传递,如果要做到阻塞式的线程切换--函数调用得等到提交到目标线程的任务执行完才能返回,一个典型的场景就是要拿到异步任务的返回值。

        

        2)内部代码的线程切换

        3)三大线程的创建

      头文件在 src\api\Create_peerconnection_factory.h:
        ​​​​​​

         实现在:

        没有创建三大线程,因此由PC Factory 的构造函数创建,启动network_thread_ 和worker_thread_,并把调用webrtc::CreatePeerConnectionFactory  的线程包装为signaling_thread_。在windows 中,这个线程要么是在主线程(发起端),要么是在websocket线程(应答端)。

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值