awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
alibaba avatar

alibaba/coobjc

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

Coobjc

coobjc es una biblioteca de corrutinas para Objective-C que proporciona métodos await y generadores para simplificar la programación asíncrona en Objective-C y Swift. Permite la implementación de flujos de trabajo no bloqueantes para eliminar callbacks anidados y el bloqueo de hilos.

El kit de herramientas incluye un wrapper no bloqueante de Foundation para convertir APIs síncronas de Foundation y UIKit en operaciones suspendibles. Proporciona un generador de secuencias lazy para producir valores bajo demanda mediante yield, así como una herramienta de comunicación basada en canales para intercambiar datos entre tareas concurrentes usando canales con y sin buffer.

La biblioteca cubre la coordinación de tareas asíncronas y la gestión de estado, utilizando un modelo de actores para prevenir condiciones de carrera. Sus capacidades incluyen la programación de corrutinas, cancelación y la capacidad de ejecutar operaciones de sistema de archivos y red sin congelar la interfaz de usuario.

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.

Historial de estrellas

Gráfico del historial de estrellas de alibaba/coobjcGráfico del historial de estrellas de alibaba/coobjc

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Coobjc

Proyectos open-source similares, clasificados según cuántas características comparten con Coobjc.
  • lewissbaker/cppcoroAvatar de lewissbaker

    lewissbaker/cppcoro

    3,818Ver en 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
    Ver en GitHub↗3,818
  • guzzle/promisesAvatar de guzzle

    guzzle/promises

    7,717Ver en 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
    Ver en GitHub↗7,717
  • puniverse/quasarAvatar de puniverse

    puniverse/quasar

    4,553Ver en 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
    Ver en GitHub↗4,553
  • crazyguitar/pysheeetAvatar de crazyguitar

    crazyguitar/pysheeet

    8,150Ver en 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
    Ver en GitHub↗8,150
Ver las 30 alternativas a Coobjc→

Preguntas frecuentes

¿Qué hace alibaba/coobjc?

coobjc es una biblioteca de corrutinas para Objective-C que proporciona métodos await y generadores para simplificar la programación asíncrona en Objective-C y Swift. Permite la implementación de flujos de trabajo no bloqueantes para eliminar callbacks anidados y el bloqueo de hilos.

¿Cuáles son las características principales de alibaba/coobjc?

Las características principales de alibaba/coobjc son: Asynchronous Programming, Asynchronous Message Passings, Custom Data Channels, Asynchronous Flow Coordination, Coroutine Launchers, Lazy Sequences, Coroutine Libraries, Block-Based Coroutines.

¿Qué alternativas de código abierto existen para alibaba/coobjc?

Las alternativas de código abierto para alibaba/coobjc incluyen: 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…