当前位置: 首页 > news >正文

5.1 webrtc线程模型

那从今天开始呢?我们来了解一下y8 tc线程相关的内容,那在开始之前呢?我们先来看一下,我们本章都要讲解哪些知识?
那第一个呢?是线程的基础知识,这块内容呢?主要是为大家做一下回顾,对吧?按理说呢?能够学习web边7c源码的同学应该对线程的基础知识都十分熟悉了,但也有一些同学可能。可能确实用线程不多,所以在这里增加了这块知识(理论是什么)

第二个我们来了解一下一般情况下我们的项目中是如何使用线程的。它都有哪一些常见的线程模型对吧?那有了这个基础之后呢?后面我们再看外rtc的线程模型的时候,你就会更容易理解它了。(怎么用)

那第三个呢?是我们通过源码来了解一下外包rtc的线程是什么时候创建的,那这对于我们理解外包rtc源码来说呢,是十分关键的。对吧,只有我们了解线程创建的时机,我们才能知道外边rtc线程之间它是怎样的一个关系,是一对多的关系,还是一对一的关系?所以对于这块儿内容呢,我们要做一下详细分析。(实际是什么样创建的)

那接下来我们来看一下外边儿tc的线程模型是什么?那只有将web rtc线程模型我们搞清楚了,我们才能知道它的一个工作机制是什么样的。每个线程做了哪些事儿?线程与线程之间是如何切换的?那这些呢?都是在我们y8 rtc线程模型这一节中做详细介绍。(实际是怎么使用的)

第五个在了解了线程模型之后呢,我们再来看看web rtc线程之间是如何进行切换的。当存在多个线程的时候,哪两个线程之间是可以有联系的,而其他线程之间呢,是相互独立的,这都是我们比较关心的问题。另外,在我们进行线程切换的时候,外边tc提供了多种方式,为什么要提供多种方式?每种方式它有什么好处?之间又有什么区别?那这些呢,我们都会在这一节向你做详细介绍。(实际是怎么切换的)

好,第六个那如果我们用单步调试的时候,你就会发现啊,我们从接口层调入到它的实现层,其实是进不去的。其中的原因呢,就在于外拔7c在外层用了一层红,定义了一些接口,对吧?当我们进入到这些红的时候。调湿器就无法再跟进去了,那如果我们无法利用调湿器,这个利器的话,我们在分析外边tc源码的时候就会十分困难。所以呢,我们必须要弄清楚在接口层到外边tcc的实现层之间,它是如何通过宏调进去的,对吧?那了解这个过程之后呢?我们就可以跳过这段宏。然后再让调试器继续执行,这样我们就可以更好的分析我们的源码了,(实际是怎么进行内外交互的)

那最后一个呢,我们再来了解一下外部rtc的信号处理。那在外边tc中呢?大量使用了信号,也就是说通过一个信号绑定了一个函数,当我们调用这个函数的时候呢,只要发送一个信号。就可以将对应的函数调起来。对,那外边为什么要使用信号?信号的好处是什么?它的一个工作机制又是怎样的?那我们会在信号处理这一节,向你做详细介绍OK?(信号的好处,类似于中断)

那以上呢,就是我们这一章所要讲解的主要的内容,除此之外呢,我们还要知道我们理解y八二七c的关键。就在于你对外边线程的理解,因为我们在做项目的时候,大家都有这个经验,如果是一个单线程的项目,无论它内部逻辑多复杂。你只要通过调试器,通过我们一些经验,一些调试手段,

我们都可以将它里边的逻辑给搞清楚,它是从哪进来的?怎么出去的?中间做了什么事?对吧?都非常好剖析,但如果我们遇到一个多线程的项目,这个过程就会非常复杂,你要清楚。它的线程模型是怎么样的?每个线程相互之间都是独立的,还是线程与线程之间有前后的逻辑关系?如果这个我们不搞清楚的话啊,你是很难理解它里边是怎么转的,对于y八七c更是如此。

这是第一点, y八七c中呢,包含了大量的线程。这些线程呢,有相互合作的,也有独立运行的,对吧?所以我们就要将这些线程呢,都给搞清楚之后。才能更好的理解它内部的一个运转机制,所以通过上面的介绍呢,我们应该知道理解y8 rtc的关键点就是你对它里边的线程的理解。把里边儿线程之间的关系搞清楚之后呢,我们再去看外边儿tc代码的时候呢,就更容易理解一些,对吧?(把线程和线程之间的相互关系都搞好)

那么第二点呢?就是我们要清楚yw tc中都有哪些关键的线程,尤其是网络线程,工作线程,信号线程。这三大线程是y8 rtc最为关键的三个线程,通过这三个线程呢,它又生成了很多的子线程。那子线程与子线程之间是怎样的三大线程之间是怎样的?这些呢都是我们应该重点掌握的知识。那除此之外呢,我们还要了解web rtc线程与线程之间是如何协调工作的,哪个线程是先执行,哪个线程是后执行,(三大线程和子线程的关系)

那执行完成之后又会。进入到哪个线程?那这些呢?我们都应该搞清楚,这样呢,才更有利于我们对外边代码的理解。那以上呢,就是我们这一节所介绍内容,那这一节中呢,我主要告诉你,我们这一章都要讲解哪些知识,那我们要抓住哪些重点?那些知识掌握之后呢?我们就抓住了外边儿tc的脉搏,这样就可以一步一步的对外边儿tc进行更深入的剖析。

好,那我们今天的课呢?就到这里,谢谢。

http://www.lryc.cn/news/138453.html

相关文章:

  • 【Linux网络】Cookie和session的关系
  • android 硬编码保存mp4
  • gitlab合并分支
  • 手撕 `np.transpose` : 三维数组的循环转置
  • 计算机竞赛 基于Django与深度学习的股票预测系统
  • CSS 小技能(一):HTML 两个图片竖着平铺、设置图片点击、设置滚动条颜色
  • 【论文阅读】CONAN:一种实用的、高精度、高效的APT实时检测系统(TDSC-2020)
  • P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布
  • 基于Android水果蔬菜果蔬到家商城系统 微信小程序uniAPP的开发与实现
  • 【Python】从入门到上头—Python基础(2)
  • leetcode刷题之283:移动零
  • 【Spring Boot】SpringBoot和数据库交互: 使用Spring Data JPA
  • 自动化部署及监测平台基本架构
  • 基于NXP i.MX 6ULL核心板的物联网模块开发案例(1)
  • 【路由器】小米 WR30U 解锁并刷机
  • 数据库操作语句
  • Mr. Cappuccino的第64杯咖啡——Spring循环依赖问题
  • Adapting Language Models to Compress Contexts
  • Kubernetes(K8S)使用PV和PVC做存储安装mysql
  • Ansible Playbook 常用变量
  • 0103水平分片-jdbc-shardingsphere-中间件
  • Vue2.0+webpack 引入字体文件(eot,ttf,woff)
  • Eureka:CAP原则及对比Zookeeper
  • WPF入门到精通:3.MVVM简单应用及全局异常处理
  • Springboot+mybatis-plus+dynamic-datasource+Druid 多数据源 分布式事务
  • 673. 最长递增子序列的个数
  • Android12之ABuffer数据处理(三十四)
  • whisper 语音识别项目部署
  • 实例044 在关闭窗口前加入确认对话框
  • 子查询和事务隔离以及用户管理