asio之运行框架基础

简介

asio框架的运行基础是task_io_service以及window平台下的win_iocp_io_service,即asio的事件循环

task_io_service

task_io_service是linux平台下的事件循环,其支持多线程
在这里插入图片描述
run:执行事件循环,直到stopped,或者没有工作任务
run_one:直到stopeed或者执行了一个任务
init_task:初始化reactor
poll:非阻塞从队列中取出任务执行
poll_one:非阻塞从队列中取出一个任务执行
stop:停止所有的事件循环
stopped:判断事件循环是否结束
reset:事件循环复位,准备下一步执行run
work_started:工作任务数+1
work_finished:工作任务数-1
can_dispatch:判断处理器是否可以立即执行,主要是判断当前调用线程是否是任务执行线程
dispatch:请求立即执行处理任务,如果调用线程是任务执行线程则立即执行,否则添加到工作队列中
post:将任务添加到工作队列中
post_immediate_completion:如果调用线程在任务执行线程中则立即执行,否则添加到任务队列中,会调用work_started
post_deferred_completion:如果调用线程在任务执行线程中则立即执行,否则添加到任务队列中,不会调用work_started
post_deferred_completions:如果调用线程在任务执行线程中则立即执行,否则添加到任务队列中
abandon_operations:取消任务

win_iocp_io_service

在这里插入图片描述
添加了定时器相关接口

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ASIO(Audio Stream Input/Output)是一种用于音频设备的跨平台音频输入/输出库。它允许开发者在不同的操作系统上实现低延迟、高性能的音频处理。而在Windows平台上使用ASIO,可以得到更好的音频性能和更低的延迟。 在Windows上使用ASIO,需要使用ASIO驱动程序与音频设备进行通信。以下是使用ASIO在Windows上进行音频开发的基本步骤: 1. 下载并安装适合你音频设备的ASIO驱动程序。不同的音频设备可能需要不同的驱动程序,因此请确保选择适合你设备的驱动程序。 2. 在你的音频应用程序中,使用ASIO SDK提供的ASIO API来实现音频输入/输出功能。ASIO SDK是由Steinberg开发并提供给开发者使用的。 3. 在代码中,首先打开ASIO驱动程序并初始化ASIO环境。这通常涉及到调用ASIO SDK提供的函数来获取驱动程序列表、选择驱动程序、初始化ASIO环境等。 4. 配置音频输入/输出参数。通过调用ASIO SDK提供的函数,你可以选择音频输入/输出通道数、采样率、缓冲区大小等参数。 5. 创建音频处理回调函数。在ASIO驱动程序中,你需要提供一个回调函数,用于处理输入音频数据和输出音频数据。你可以在这个回调函数中实现你的音频处理算法。 6. 启动ASIO驱动程序并开始音频流。调用ASIO SDK提供的函数,将ASIO驱动程序与音频设备连接起来,并启动音频输入/输出流。 以上是使用ASIO在Windows上进行音频开发的基本步骤。具体的实现细节和代码编写方式可以参考ASIO SDK的文档和示例代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

kgduu

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

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

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

打赏作者

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

抵扣说明:

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

余额充值