自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 【C++】【条件变量】实现一个线程池及任务队列完成复用

直到其他线程notify_one或notify_all来通知该线程,然后重新判断第二个条件,如果为真,这时开始等待锁,等抢占到锁,开始往下执行。这句话是创建一个task对象,这个task是一个lambda对象,捕获 i 变量传入MyFun。1)cv.wait等待两个条件一个是锁一个是队列不为空,当两个条件全部满足时,直接往下执行;当队列为空时,第二个条件不满足,2)创建完任务对象,等待任务队列的锁,获得之后push一个task,然后notify某个线程。// 调用封装的函数。

2023-11-07 19:56:16 99

原创 【FreeSwitch】如何往通道里写音频数据

在 FreeSWITCH 中,您可以使用自定义的 FreeSWITCH 应用程序来将音频数据写入通话通道,使对端听到。写入音频数据:使用 FreeSWITCH 的 API 函数将读取的音频数据写入通话通道。音频数据写入后,对端将会听到它。创建自定义应用程序:首先,您需要创建一个自定义 FreeSWITCH 应用程序,以便在通话中写入音频数据。编写应用程序逻辑:在自定义应用程序中,您可以编写逻辑来读取音频数据并将其写入通话通道。这可以是音频文件解码后的音频帧,或者来自实时音频源的音频数据。

2023-10-20 15:49:25 211 1

原创 【C++】【Boost库】boost::beast::multi_buffer类的读写

是 Boost.Beast 库中的一个类,用于管理多个缓冲区的集合,提供了一些用于读写操作的接口。这个类通常用于异步 I/O 操作,特别是在网络编程中,用于处理数据流。这就完成了一个简单的buffer数据的读取,正常情况下是两个线程一个读一个写,不断的进行读写。

2023-10-17 10:35:16 272

原创 【C++】【异步编程】【WebSocket】通过定时器和回调实现循环读写

这段代码的主要目的是通过定时器控制 WebSocket 会话的数据平面循环,确保在特定条件下发送数据,并在定时器超时时继续循环。这是一种典型的异步编程模式,其中通过定时器和回调函数来组织异步任务的执行。

2023-10-17 10:07:01 243

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除