Repolode
crossbeam-rs

crossbeam-rs/crossbeam

Un crate de Rust con herramientas de concurrencia: colas lock-free, deques con robo de trabajo, canales, GC basado en épocas, atomics e hilos con ámbito.

Estrellas
8,628
Forks
589
Issues abiertos
173
Último commit
hace 23 días

¿Qué es?

Crossbeam es una biblioteca de Rust con componentes básicos para la programación concurrente. Incluye atomics como AtomicCell, estructuras de datos lock-free, entre ellas colas MPMC acotadas y no acotadas, deques con robo de trabajo y un recolector de basura basado en épocas para liberar memoria de forma segura en estructuras concurrentes.

También incluye canales mult productor y mult consumidor para el paso de mensajes, una primitiva para estacionar hilos, un lock de lectura-escritura fragmentado, un WaitGroup para sincronizar límites entre cálculos e hilos con ámbito que pueden tomar prestadas variables locales de la pila. El crate principal reexporta herramientas de crates más pequeños, así que un proyecto puede depender del paquete crossbeam único.

Muchos de los componentes se pueden usar en entornos no_std; algunos requieren la característica alloc. La versión mínima de Rust admitida es la 1.74.

Funciones clave

  • 01Colas MPMC lock-free acotadas y no acotadas (ArrayQueue, SegQueue)
  • 02Deques con robo de trabajo para crear planificadores de tareas
  • 03Canales multiproductor y multiconsumidor para el paso de mensajes
  • 04Recolección de basura basada en épocas para estructuras de datos concurrentes
  • 05Atomics, estacionamiento de hilos, RwLock fragmentado, WaitGroup e hilos con ámbito
  • 06Varios componentes utilizables en entornos no_std

Casos de uso

  • Crear un planificador de tareas multihilo con deques con robo de trabajo
  • Pasar mensajes entre hilos mediante canales MPMC
  • Compartir una cola entre muchos productores y consumidores sin usar locks
  • Iniciar hilos que tomen prestados datos del marco de pila actual

Inicio rápido

  1. 1

    Añade crossbeam como dependencia en Cargo.toml

  2. 2

    Añade la dependencia crossbeam con Cargo

    crossbeam = "0.8"

Antes de usarlo

  • La versión mínima de Rust compatible es la 1.74.

Temas

Preguntas frecuentes

¿Qué es crossbeam?
Un crate de Rust con herramientas de concurrencia: colas lock-free, deques con robo de trabajo, canales, GC basado en épocas, atomics e hilos con ámbito. Crossbeam es una biblioteca de Rust con componentes básicos para la programación concurrente. Incluye atomics como AtomicCell, estructuras de datos lock-free, entre ellas colas MPMC acotadas y no acotadas, deques con robo de trabajo y un recolector de basura basado en épocas para liberar memoria de forma segura en estructuras concurrentes.
¿crossbeam es gratuito? ¿Qué licencia tiene?
crossbeam es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿crossbeam sigue mantenido?
Mantenimiento activo. El último commit de crossbeam fue el 1 oct 2026.
¿Para qué puedo usar crossbeam?
Crear un planificador de tareas multihilo con deques con robo de trabajo Pasar mensajes entre hilos mediante canales MPMC Compartir una cola entre muchos productores y consumidores sin usar locks Iniciar hilos que tomen prestados datos del marco de pila actual
¿Cómo se instala crossbeam?
Añade crossbeam como dependencia en Cargo.toml Añade la dependencia crossbeam con Cargo: crossbeam = "0.8"
¿Dónde consigo crossbeam?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/crossbeam-rs/crossbeam

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados