并发流程控制 cocoflow

码农软件 · 软件分类 · 并发/并行处理框架 · 2019-09-02 22:26:45

软件介绍

Concurrency Control Flow 并发流程控制

一个基于协程和libuv的C++框架,仅通过 startawaitall_ofany_of 控制流程。

  • 基于 协程(Coroutine) & libuv 的C++开发框架
  • 使用 start | await | all_of | any_of 四个原语控制流程
  • 同步的用户接口 & 异步的运行过程
  • 阻塞只是hold住运行状态然后切换
  • 任何操作都不会真正阻塞线程
  • 支持 Linux & Windows
  • 提供 sleep sync udp tcp 等预设任务


任务

  • 并发流程中最小的控制单元
  • 一段逻辑上可能阻塞的过程视为任务


原语

start —— 异步地执行一个<任务>,该过程不阻塞当前任务的执行,目标任务启动后立即继续
await —— 同步地执行一个<任务>,该过程会阻塞当前任务的执行,等待目标任务执行完成后继续
all_of —— 将多个<任务>组合为一个新的任务,全部任务执行完成后新的任务视为执行完成

any_of —— 将多个<任务>组合为一个新的任务,任一任务执行完成后新的任务视为执行完成,同时会取消掉其他未执行完成的任务


示例:你需要等待两个udp的recv事件,并且需要设置一个超时时间,则你可以用使用:

await(
    any_of(
        all_of(
            udp0.recv,
            udp1.recv
        ),
        sleep(x ms)
    )
)

 

本文地址:https://codercto.com/soft/d/13750.html

测试驱动的JavaScript开发

测试驱动的JavaScript开发

Christian Johansen / 赵勇、程德、凌杰、高博 / 机械工业出版社 / 2012-2-9 / 69.00元

本书是一本完整的、基于最佳实践的JavaScript敏捷测试指南,同时又有着测试驱动开发方法(TDD)所带来的质量保证。领先一步的JavaScript敏捷开发者Christian Johansen的讨论涵盖了将最先进的自动化测试用于JavaScript开发环境的方方面面,带领读者走查整个开发的生命周期,从项目启动到应用程序部署。本书的主要内容包括:掌握自动化测试和TDD;构建有效的自动化测试工作流......一起来看看 《测试驱动的JavaScript开发》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具