락 프리 큐, 워크 스틸링 덱, 채널, epoch 기반 GC, 원자 연산, 스코프 스레드를 제공하는 Rust 동시성 도구 모음입니다.
ruby-concurrency/concurrent-ruby
futures, promises, 스레드 풀, agent, atom, 스레드 안전 컬렉션, 동기화 클래스를 비롯한 동시성 프리미티브를 제공하는 Ruby gem입니다.
- 스타
- 5,837
- 포크
- 423
- 열린 이슈
- 53
- 마지막 커밋
- 8일 전
어떤 프로젝트인가요?
Concurrent Ruby는 Ruby 애플리케이션에 폭넓은 동시성 추상화를 제공하는 gem입니다. 통합된 futures 및 promises 프레임워크인 Promises, ScheduledTask, TimerTask 같은 비동기 도구와 Java에서 영감을 받은 스레드 풀 및 기타 executor를 포함합니다.
또한 Array, Hash, Set의 스레드 안전 하위 클래스, 높은 동시성을 지원하는 Map, 불변 및 가변 구조체, AtomicReference와 AtomicFixnum 같은 원자적 타입을 비롯해 스레드 안전 값 객체와 컬렉션을 제공합니다. 공유 상태 관리를 위해 Clojure 스타일의 Agent와 Atom, 소프트웨어 트랜잭셔널 메모리를 위한 TVar, CountDownLatch, Semaphore, ReadWriteLock 같은 동기화 클래스도 제공합니다.
이 gem은 외부 gem 의존성이 없도록 설계되었으며 MRI, JRuby, TruffleRuby에서 실행됩니다. MRI용 선택적 C 확장 기능은 별도의 concurrent-ruby-ext gem으로 제공되며, Actor와 Channel 같은 실험적 기능은 동반 gem인 concurrent-ruby-edge에 포함되어 있습니다.
핵심 기능
- 01futures, promises, 지연 평가를 결합한 Promises 프레임워크.
- 02Java의 concurrent 패키지에서 영감을 받은 스레드 풀 및 기타 executor.
- 03스레드 안전한 Array, Hash, Set, Map 컬렉션.
- 04락 없이 값을 갱신할 수 있는 atomic reference, 카운터, 불리언.
- 05공유 상태 관리를 위한 Agent와 Atom, 트랜잭셔널 메모리를 위한 TVar.
- 06CountDownLatch, Semaphore, ReadWriteLock을 비롯한 동기화 프리미티브.
활용 사례
- 외부 의존성을 추가하지 않고 Ruby 서비스에서 백그라운드 작업이나 병렬 I/O 작업을 실행.
- latch, barrier, semaphore를 사용해 여러 스레드 간 작업을 조율.
- Ruby 프로세스 내에서 주기적 작업이나 지연 작업을 예약.
- atom이나 스레드 안전 컬렉션을 사용해 여러 스레드에서 가변 상태를 안전하게 공유.
사용 전 알아둘 점
- 메타데이터에서 라이선스를 감지할 수 없습니다. 사용하기 전에 저장소의 라이선스 파일을 확인하세요.
- companion gem인 concurrent-ruby-edge의 기능은 자주 변경되어 이전 버전과의 호환성이 깨질 수 있습니다.
토픽
자주 묻는 질문
- concurrent-ruby은(는) 무엇인가요?
- futures, promises, 스레드 풀, agent, atom, 스레드 안전 컬렉션, 동기화 클래스를 비롯한 동시성 프리미티브를 제공하는 Ruby gem입니다. Concurrent Ruby는 Ruby 애플리케이션에 폭넓은 동시성 추상화를 제공하는 gem입니다. 통합된 futures 및 promises 프레임워크인 Promises, ScheduledTask, TimerTask 같은 비동기 도구와 Java에서 영감을 받은 스레드 풀 및 기타 executor를 포함합니다.
- concurrent-ruby은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- concurrent-ruby은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- concurrent-ruby은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. concurrent-ruby의 마지막 커밋은 2026년 10월 16일입니다.
- concurrent-ruby은(는) 어디에 사용할 수 있나요?
- 외부 의존성을 추가하지 않고 Ruby 서비스에서 백그라운드 작업이나 병렬 I/O 작업을 실행. latch, barrier, semaphore를 사용해 여러 스레드 간 작업을 조율. Ruby 프로세스 내에서 주기적 작업이나 지연 작업을 예약. atom이나 스레드 안전 컬렉션을 사용해 여러 스레드에서 가변 상태를 안전하게 공유.
- concurrent-ruby은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/ruby-concurrency/concurrent-ruby
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
메인 이벤트 루프를 막지 않고 CPU 집약적 작업을 실행하는 Node.js 워커 스레드 풀로, 큐와 취소 기능, 실행 통계를 제공합니다.
Tokio 런타임에서 타입이 지정된 메시지를 주고받는 Rust 액터 프레임워크로, 액터 감독 기능을 지원합니다.
챕터별로 구성된 Rust 연습문제와 예제, 실행하고 수정할 수 있는 코드와 해답을 제공하는 무료 오픈소스 모음입니다.
태스크 그래프를 활용한 태스크 병렬 C++ 프로그램 작성을 지원하며 CPU 멀티스레딩과 CUDA GPU를 지원하는 헤더 전용 라이브러리입니다.
중앙 서버 없이 두 대 이상의 컴퓨터에서 폴더를 동기화하는 오픈소스 지속적 파일 동기화 도구입니다.