awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
alibaba avatar

alibaba/coobjc

0
View on GitHub↗
4,016 stars·522 forks·Objective-C·Apache-2.0·2 viewsgithub.com/alibaba/coobjc↗

Coobjc

coobjc is an Objective-C coroutine library that provides await methods and generators to simplify asynchronous programming in Objective-C and Swift. It enables the implementation of non-blocking workflows to eliminate nested callbacks and thread blocking.

The toolkit includes a non-blocking Foundation wrapper to convert synchronous Foundation and UIKit APIs into suspendable operations. It provides a lazy sequence generator for producing values on demand via yield, as well as a channel-based communication tool for exchanging data between concurrent tasks using buffered and unbuffered channels.

The library covers asynchronous task coordination and state management, utilizing an actor model to prevent data races. Its capabilities include coroutine scheduling, cancellation, and the ability to execute file system and networking operations without freezing the user interface.

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 history

Star history chart for alibaba/coobjcStar history chart for alibaba/coobjc

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Coobjc

Similar open-source projects, ranked by how many features they share with Coobjc.
  • lewissbaker/cppcorolewissbaker avatar

    lewissbaker/cppcoro

    3,818View on 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
    View on GitHub↗3,818
  • guzzle/promisesguzzle avatar

    guzzle/promises

    7,717View on 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
    View on GitHub↗7,717
  • puniverse/quasarpuniverse avatar

    puniverse/quasar

    4,553View on 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
    View on GitHub↗4,553
  • crazyguitar/pysheeetcrazyguitar avatar

    crazyguitar/pysheeet

    8,150View on 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
    View on GitHub↗8,150
See all 30 alternatives to Coobjc→

Frequently asked questions

What does alibaba/coobjc do?

coobjc is an Objective-C coroutine library that provides await methods and generators to simplify asynchronous programming in Objective-C and Swift. It enables the implementation of non-blocking workflows to eliminate nested callbacks and thread blocking.

What are the main features of alibaba/coobjc?

The main features of alibaba/coobjc are: Asynchronous Programming, Asynchronous Message Passings, Custom Data Channels, Asynchronous Flow Coordination, Coroutine Launchers, Lazy Sequences, Coroutine Libraries, Block-Based Coroutines.

What are some open-source alternatives to alibaba/coobjc?

Open-source alternatives to alibaba/coobjc include: 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…