5.1 webrtc线程模型

这篇具有很好参考价值的文章主要介绍了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进行更深入的剖析。

好,那我们今天的课呢?就到这里,谢谢。文章来源地址https://www.toymoban.com/news/detail-671658.html

到了这里,关于5.1 webrtc线程模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 5.9.Webrtc线程事件处理

    在前面的课程中呢,我已经向你介绍了事件处理的一些基础知识,那今天呢,我们再来看一下外边儿rtc下事件处理的基本逻辑是什么? 那首先呢,我们来看一下事件是如何协调线程工作的,那就如果这张图所展示的有两个线程,对吧?一个是限定线程,一个是工作线程。其中

    2024年02月09日
    浏览(43)
  • 5.5.webrtc的线程管理

    今天呢,我们来介绍一下线程的管理与绑定,首先我们来看一下web rtc中的线程管理类,也就是thread manager。对于这个类来说呢,其实实现非常简单,对吧? 包括了几个重要的成员,第一个成员呢就是instance成员,通过这个名字,我们也可以知道它属于单例模式。那通过instan

    2024年02月12日
    浏览(52)
  • 5.7.webrtc线程的启动与运行

    那在上一节课中呢?我向你介绍了web rtc的三大线程,包括了信令线程,工作线程以及网络线程。那同时呢,我们知道了web rtc 3大线程创建的位置以及运行的时机。 对吧,那么今天呢?我们再继续深入了解一下,看这些线程是如何创建的,以及如何运行的。 那首先呢,我们来

    2024年02月12日
    浏览(27)
  • 多媒体库SDL以及实时音视频库WebRTC中的多线程问题实战详解

    目录 1、概述 2、开源跨平台多媒体库SDL介绍 3、开源音视频实时通信库WebRTC介绍

    2024年02月08日
    浏览(57)
  • 5.1阻塞和非阻塞、同步和异步 5.2Unix、Linux上的五种IO模型

    典型的一次IO的两个阶段是什么?数据就绪和数据读写 数据就绪:根据IO操作的就绪状态 阻塞 非阻塞 数据读写:根据应用程序和内核的交互方式 同步 异步 陈硕:在处理IO的时候,阻塞和非阻塞都是同步IO,只有使用了特殊的API才是异步IO。 一个典型的网络接口调用,分为两

    2024年02月12日
    浏览(42)
  • Redis的单线程模型和标准Reactor线程模型的关系

    我们都听说过redis是单线程的,但这么说并不准确。确切的说在redis4.0版本之前,redis是单线程的。 在redis 4.0为了防止耗时的命令阻塞线程,导致无法处理后续事件。引入了多线程来处理一些非阻塞命令。有:UNLINK、FLUSHALL ASYNC、FLUSHDB ASYNC等。备份aof、集群通信等模块是单独线

    2024年02月09日
    浏览(73)
  • chromium线程模型(1)-普通线程实现(ui和io线程)

    通过chromium 官方文档,线程和任务一节我们可以知道 ,chromium有两类线程,一类是普通线程,最典型的就是io线程和ui线程。 另一类是 线程池线程。 今天我们先分析普通线程的实现,下一篇文章分析线程池的实现。(基于版本 117.0.5847.0(开发者内部版本) (64 位) 分析)。

    2024年02月05日
    浏览(36)
  • 67、Redis线程模型,单线程快的原因

    Redis基于Reactor模式开发了网络事件处理器,这个处理器叫做文件事件处理器file event handler。这个文件事件处理器,它是单线程的,所以 Redis 才叫做单线程的模型,它采用IO多路复用机制来同时监听多个Socket,根据Socket上的事件类型来选择对应的事件处理器来处理这个事件。可

    2024年02月16日
    浏览(35)
  • 【Linux】多线程 --- 线程同步与互斥+生产消费模型

    人生总是那么痛苦吗?还是只有小时候是这样? —总是如此 1. 假设现在有一份共享资源tickets,如果我们想让多个线程都对这个资源进行操作,也就是tickets- -的操作,但下面两份代码分别出现了不同的结果,上面代码并没有出现问题,而下面代码却出现了票为负数的情况,这

    2024年02月06日
    浏览(45)
  • 【Linux系统编程:线程】 线程控制 -- 创建、终止、等待、分离 | 线程互斥与同步 | 互斥量与条件变量 | 生产者消费者模型 | 线程池 | STL/智能指针与线程安全 | 读者写者模型

    写在前面 本文重点: 了解线程概念,理解线程与进程区别与联系。 学会线程控制,线程创建,线程终止,线程等待。 了解线程分离与线程安全。 学会线程同步。 学会使用互斥量,条件变量,posix 信号量,以及读写锁。 理解基于读写锁的读者写者问题。 一、线程概念 💦

    2024年02月04日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包