스레드 간 메시지를 최소한의 push-to-pop 지연으로 전달하는 헤더 전용 C++14 무잠금 링 버퍼 큐입니다.
crossbeam-rs/crossbeam
락 프리 큐, 워크 스틸링 덱, 채널, epoch 기반 GC, 원자 연산, 스코프 스레드를 제공하는 Rust 동시성 도구 모음입니다.
- 스타
- 8,629
- 포크
- 589
- 열린 이슈
- 173
- 마지막 커밋
- 23일 전
어떤 프로젝트인가요?
Crossbeam은 동시성 프로그래밍을 위한 빌딩 블록을 제공하는 Rust 라이브러리입니다. AtomicCell 같은 원자 연산 도구, bounded 및 unbounded MPMC 큐를 포함한 락 프리 자료구조, 워크 스틸링 덱, 그리고 동시 자료구조에서 메모리를 안전하게 회수하기 위한 epoch 기반 가비지 컬렉터를 제공합니다.
메시지 전달을 위한 멀티 프로듀서·멀티 컨슈머 채널, 스레드 주차 프리미티브, 샤딩된 reader-writer lock, 계산 경계를 동기화하는 WaitGroup, 스택의 지역 변수를 빌려 쓸 수 있는 스코프 스레드도 포함합니다. 메인 크레이트는 여러 소규모 서브크레이트의 도구를 다시 내보내므로, 프로젝트에서 crossbeam 패키지 하나만 의존하면 됩니다.
구성 요소 중 상당수는 no_std 환경에서 사용할 수 있으며, 일부는 alloc feature가 필요합니다. 지원하는 최소 Rust 버전은 1.74입니다.
핵심 기능
- 01락 프리 bounded 및 unbounded MPMC 큐(ArrayQueue, SegQueue)
- 02작업 스케줄러 구현에 활용할 수 있는 워크 스틸링 덱
- 03메시지 전달을 위한 멀티 프로듀서·멀티 컨슈머 채널
- 04동시 자료구조를 위한 epoch 기반 가비지 컬렉션
- 05원자 연산, 스레드 주차, 샤딩된 RwLock, WaitGroup 및 스코프 스레드
- 06no_std 환경에서 사용할 수 있는 여러 구성 요소
활용 사례
- 워크 스틸링 덱을 활용한 멀티스레드 작업 스케줄러 구현
- MPMC 채널을 사용해 스레드 간 메시지 전달
- 락 없이 여러 프로듀서와 컨슈머가 큐 공유
- 현재 스택 프레임의 데이터를 빌려 쓰는 스레드 생성
빠른 시작
- 1
Cargo.toml에 crossbeam을 종속성으로 추가합니다
- 2
Cargo로 crossbeam 종속성을 추가합니다
crossbeam = "0.8"
사용 전 알아둘 점
- 지원되는 최소 Rust 버전은 1.74입니다.
토픽
자주 묻는 질문
- crossbeam은(는) 무엇인가요?
- 락 프리 큐, 워크 스틸링 덱, 채널, epoch 기반 GC, 원자 연산, 스코프 스레드를 제공하는 Rust 동시성 도구 모음입니다. Crossbeam은 동시성 프로그래밍을 위한 빌딩 블록을 제공하는 Rust 라이브러리입니다. AtomicCell 같은 원자 연산 도구, bounded 및 unbounded MPMC 큐를 포함한 락 프리 자료구조, 워크 스틸링 덱, 그리고 동시 자료구조에서 메모리를 안전하게 회수하기 위한 epoch 기반 가비지 컬렉터를 제공합니다.
- crossbeam은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- crossbeam은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- crossbeam은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. crossbeam의 마지막 커밋은 2026년 10월 1일입니다.
- crossbeam은(는) 어디에 사용할 수 있나요?
- 워크 스틸링 덱을 활용한 멀티스레드 작업 스케줄러 구현 MPMC 채널을 사용해 스레드 간 메시지 전달 락 없이 여러 프로듀서와 컨슈머가 큐 공유 현재 스택 프레임의 데이터를 빌려 쓰는 스레드 생성
- crossbeam는 어떻게 설치하나요?
- Cargo.toml에 crossbeam을 종속성으로 추가합니다 Cargo로 crossbeam 종속성을 추가합니다: crossbeam = "0.8"
- crossbeam은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/crossbeam-rs/crossbeam
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
순차 반복자를 거의 그대로 바꿔 병렬 처리할 수 있게 해 주는 Rust 데이터 병렬성 라이브러리입니다.
futures, promises, 스레드 풀, agent, atom, 스레드 안전 컬렉션, 동기화 클래스를 비롯한 동시성 프리미티브를 제공하는 Ruby gem입니다.
중앙 서버 없이 두 대 이상의 컴퓨터에서 폴더를 동기화하는 오픈소스 지속적 파일 동기화 도구입니다.
Diffusers를 기반으로 캐싱, 병렬 처리, 양자화, CPU 오프로딩을 추가한 Diffusion Transformer(DiT)용 PyTorch 추론 엔진입니다.
LLM 및 임베딩 서빙을 더 빠르고 저렴하게 제공하도록 Snowflake의 추론 최적화(Shift Parallelism, speculative decoding, SwiftKV)를 추가하는 vLLM 플러그인입니다.