WebRTC系列- 线程详解

1 综述

了解过WebRTC源码的人,一定听说过三大线程(network_threadworker_threadsignaling_thread),这三大线程基本贯穿的WebRTC的三大模块(音频,视频,网络,平台采集渲染),在数据流转和消息传递中有着很关键的作用;WebRTC由于其功能多样性,注定了系统结构的复杂性,再加上音视频需要做很多编码前后的处理以及各个平台渲染采集的差异性,算法非常复杂,从而导致其逻辑结构也复杂,且由于WebRTC是支持多平台性,各个平台底层线程管理有着很大的差异性;
为了降低系统的复杂性,提高系统的运行效率,降低跨平台开发的难度,WebRTC 设计了一套多线程框架,并且做了精心的设计。WebRTC实现了跨平台(Windows,MacOS,Linux,IOS,Android)的线程类rtc::Thread,WebRTC内部的network_thread,worker_thread,signaling_thread均是该类的实例。
理解WebRTC的关键之一,就必须的了解WebRTC的线程。

2 基础功能

2.1 线程的管理及功能

  • 通过ThreadManager单例对象,可以管理所有的Thread实例;
  • rtc::Thread 提供了基础的线程创建对象,线程名称设置,及线程启停功能;
  • rtc::Thread继承了MessageQueue类࿰
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简简单单lym

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值