위키득계정 ↗
기술

Crossbeam

Crossbeam기술
주요 언어
Rust
소프트웨어 유형
동시성 도구 모음
통신 구성
다중 생산자 다중 소비자 채널
메모리 관리
에포크 기반 회수
Crossbeam은 Rust의 동시성 프로그래밍에 사용하는 도구 모음이다. 채널과 동시 접근 큐, 원자적 값과 동기화 도구 및 에포크 기반 메모리 회수를 작은 라이브러리들로 나누어 제공한다.

통신과 동시 자료 구조

여러 생산자와 소비자가 메시지를 주고받는 채널을 제공한다. 고정 용량 큐와 필요에 따라 구획을 할당하는 큐 및 작업 훔치기 덱도 포함한다. 덱은 작업 스케줄러를 구성하는 데 활용하는 자료 구조다.

동기화와 스레드 도구

스레드를 대기시키는 기본 도구와 분할된 읽기 쓰기 잠금 및 WaitGroup을 제공한다. scope는 스택의 지역 변수를 빌려 쓰는 스레드를 만드는 데 사용한다. 원자적 값과 재시도 대기 및 캐시 줄에 맞춘 배치 도구도 포함한다.

작은 구성 요소의 조합

상위 Crossbeam 크레이트가 채널과 덱 및 큐와 유틸리티 등의 하위 크레이트를 재노출한다. 에포크 기반 메모리 회수는 동시 자료 구조를 만드는 구성 요소다. 일부 기능은 표준 라이브러리가 없는 환경에서도 사용할 수 있지만 할당 기능의 필요 여부는 구성 요소마다 다르다.

관련 문서

Rayon / Rust / 동시성 / 스레드 (컴퓨팅) / Userspace RCU / 가비지 컬렉션