awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
alibaba avatar

alibaba/coobjc

0
View on GitHub↗
4,016 星标·522 分支·Objective-C·Apache-2.0·9 次浏览github.com/alibaba/coobjc↗

Coobjc

coobjc 是一个 Objective-C 协程库,提供 await 方法和生成器,以简化 Objective-C 和 Swift 中的异步编程。它实现了非阻塞工作流,消除了嵌套回调和线程阻塞。

该工具包包括一个非阻塞 Foundation 包装器,可将同步的 Foundation 和 UIKit API 转换为可挂起的操作。它提供了一个用于通过 yield 按需生成值的惰性序列生成器,以及一个基于通道的通信工具,用于使用缓冲和非缓冲通道在并发任务之间交换数据。

该库涵盖了异步任务协调和状态管理,利用 Actor 模型防止数据竞争。其功能包括协程调度、取消,以及在不冻结用户界面的情况下执行文件系统和网络操作的能力。

Features

  • Asynchronous Programming - Enables non-blocking workflows in Objective-C and Swift through the implementation of coroutines and await methods.
  • Asynchronous Message Passings - Provides an actor model where isolated entities exchange data exclusively through asynchronous message passing.
  • Custom Data Channels - Implements communication primitives for exchanging data between concurrent tasks using buffered and unbuffered channels.
  • Asynchronous Flow Coordination - Provides patterns for managing the synchronization and resolution of concurrent asynchronous operations.
  • Coroutine Launchers - Enables initiating the execution of asynchronous coroutine blocks on specific target queues.
  • Lazy Sequences - Provides lazy sequence generators that produce values on demand via yield to handle large data sets efficiently.
  • Coroutine Libraries - Provides a comprehensive coroutine library for managing cooperative multitasking and lightweight threads in Objective-C and Swift.
  • Block-Based Coroutines - Transforms asynchronous code blocks into state machines to enable non-blocking suspension and resumption.
  • Native API Wrappers - Wraps synchronous system APIs into non-blocking operations to maintain user interface responsiveness.
  • Non-Blocking API Wrappers - Converts synchronous system calls into suspendable operations compatible with a coroutine runtime.
  • Actor-Based Concurrency - Uses isolated, message-passing actors to manage state and execution without data races.
  • Asynchronous Task Managers - Offers tools for coordinating complex execution flows using await methods and channels to synchronize concurrent tasks.
  • Coroutine Task Schedulers - Manages a queue of lightweight coroutines and distributes them across worker pools for efficiency.
  • Lock-Free State Management - Utilizes an actor model to manage shared state and prevent data races in Apple ecosystem applications.
  • Coroutine Communication Channels - Provides communication channels for exchanging signals and data between concurrent coroutines.
  • CSP Communication Channels - Provides synchronization primitives based on communicating sequential processes for data exchange between concurrent tasks.
  • Lazy Sequence Processing - Implements a lazy sequence generator to produce values on demand, reducing memory allocation for large data sets.
  • Coroutine Result Awaiting - Allows suspending a coroutine until a promise or channel resolves to return a value.
  • Sequential Task Execution - Executes a series of asynchronous computations in a strict linear order to prevent nested callbacks.
  • Lazy Data Scanning - Defers data processing until requested to ensure the system only handles data when the consumer is ready.
  • Asynchronous Sequence Generators - Implements generators that produce sequences of values where each element is fetched via an async operation.
  • Coroutine Suspension Controls - Enables suspending tasks and restoring them later from the last known state using custom calling stacks.
  • Custom Execution Stacks - Implements custom call-stack management to restore task state after await calls.
  • Lazy Evaluation - Implements lazy evaluation to produce data sequences one item at a time and reduce memory overhead.
  • Coroutine Termination - Implements a mechanism to cooperatively stop executing coroutines and perform necessary cleanup.
  • Non-blocking IO Implementations - Provides non-blocking implementations for file system and networking operations to maintain user interface responsiveness.
  • Asynchronous File I/O - Provides non-blocking interfaces for reading and writing files without stalling the execution thread.

Star 历史

alibaba/coobjc 的 Star 历史图表alibaba/coobjc 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Coobjc 的开源替代方案

相似的开源项目,按与 Coobjc 的功能重合度排序。
  • lewissbaker/cppcorolewissbaker 的头像

    lewissbaker/cppcoro

    3,818在 GitHub 上查看↗

    cppcoro is a C++ coroutine library and concurrency toolkit providing primitives for asynchronous tasks, lazy generators, and non-blocking execution. It functions as an asynchronous I/O framework for managing network sockets and file operations through an event loop. The library features a work-stealing thread pool for distributing tasks across multiple cores and a set of async generators for producing lazy sequences of values both synchronously and asynchronously. It includes a concurrency toolkit with async mutexes, latches, and shared tasks to coordinate multi-threaded execution. Its capab

    C++asyncasync-awaitasynchronous-programming
    在 GitHub 上查看↗3,818
  • guzzle/promisesguzzle 的头像

    guzzle/promises

    7,717在 GitHub 上查看↗

    This project is a PHP implementation of the Promises/A+ specification, providing a library for managing asynchronous operations and deferred values. It serves as an asynchronous task coordinator that allows for the creation of non-blocking code through a promise-based pattern. The library enables the simulation of asynchronous coroutines, allowing non-blocking code to be written in a linear style. It features duck-typed interoperability, which allows it to integrate with any foreign object that implements a then method regardless of class inheritance. The project covers broader capabilities

    PHP
    在 GitHub 上查看↗7,717
  • puniverse/quasarpuniverse 的头像

    puniverse/quasar

    4,553在 GitHub 上查看↗

    Quasar is a JVM concurrency framework that implements the actor model and a lightweight thread library. It provides isolated execution units that communicate via asynchronous message passing to eliminate shared mutable state. The project distinguishes itself through a distributed actor system capable of operating across multiple cluster nodes with location-transparent registries and actor state migration. It utilizes a work-stealing fiber scheduler to manage millions of lightweight threads, allowing tasks to suspend during non-blocking I/O operations without stalling underlying system threads

    Javaactorsconcurrencyfibers
    在 GitHub 上查看↗4,553
  • crazyguitar/pysheeetcrazyguitar 的头像

    crazyguitar/pysheeet

    8,150在 GitHub 上查看↗

    pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns for advanced Python development, system integration, and high-performance computing. It serves as a comprehensive guide for implementing low-level network programming, native C extensions, and asynchronous and concurrent programming. The project provides specialized frameworks for the development and deployment of large language models, including tools for distributed GPU inference and high-performance serving. It also includes detailed patterns for high-performance computing

    Python
    在 GitHub 上查看↗8,150
查看 Coobjc 的所有 30 个替代方案→

常见问题解答

alibaba/coobjc 是做什么的?

coobjc 是一个 Objective-C 协程库,提供 await 方法和生成器,以简化 Objective-C 和 Swift 中的异步编程。它实现了非阻塞工作流,消除了嵌套回调和线程阻塞。

alibaba/coobjc 的主要功能有哪些?

alibaba/coobjc 的主要功能包括:Asynchronous Programming, Asynchronous Message Passings, Custom Data Channels, Asynchronous Flow Coordination, Coroutine Launchers, Lazy Sequences, Coroutine Libraries, Block-Based Coroutines。

alibaba/coobjc 有哪些开源替代品?

alibaba/coobjc 的开源替代品包括: lewissbaker/cppcoro — cppcoro is a C++ coroutine library and concurrency toolkit providing primitives for asynchronous tasks, lazy… guzzle/promises — This project is a PHP implementation of the Promises/A+ specification, providing a library for managing asynchronous… puniverse/quasar — Quasar is a JVM concurrency framework that implements the actor model and a lightweight thread library. It provides… crazyguitar/pysheeet — pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns… gevent/gevent — Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O… sadanandpai/javascript-code-challenges — This repository is a collection of JavaScript coding challenges and a comprehensive interview guide. It provides…