관찰 가능한 시퀀스로 비동기 및 이벤트 기반 프로그램을 구성하는 Reactive Extensions의 Java VM 구현체입니다.
tokio-rs/tokio
안정적인 네트워크 애플리케이션 개발을 위해 작업 스케줄링, 논블로킹 I/O, 네트워킹, 타이머를 제공하는 Rust 비동기 런타임입니다.
- 스타
- 33,502
- 포크
- 5,781
- 열린 이슈
- 440
- 마지막 커밋
- 11시간 전
어떤 프로젝트인가요?
Tokio는 Rust로 비동기 애플리케이션을 작성하기 위한 이벤트 기반 논블로킹 I/O 플랫폼입니다. 멀티스레드 워크 스틸링 작업 스케줄러, 운영체제 이벤트 큐(epoll, kqueue, IOCP 등)를 기반으로 하는 리액터, 비동기 TCP 및 UDP 소켓을 함께 제공합니다.
각 연결마다 스레드를 할당하지 않고도 많은 연결을 처리해야 하는 네트워크 서비스 및 기타 I/O 집약적인 프로그램을 개발하는 사람들을 위한 프로젝트입니다. 애플리케이션에서는 필요한 기능 플래그를 활성화한 다음, 런타임의 spawn, 타이머, 동기화 프리미티브를 async/await와 함께 사용합니다.
이 프로젝트는 axum 웹 프레임워크, hyper HTTP 구현체, tonic gRPC 라이브러리, tower 미들웨어 추상화, tracing 진단 프레임워크를 포함하는 더 넓은 생태계의 일부입니다.
핵심 기능
- 01멀티스레드 워크 스틸링 작업 스케줄러
- 02논블로킹 TCP 및 UDP 소켓
- 03epoll, kqueue, IOCP를 기반으로 하는 리액터
- 04타이머 및 비동기 동기화 프리미티브
- 05기능 플래그를 사용해 필요한 구성 요소만 프로젝트에 포함
활용 사례
- Rust로 동시 연결을 많이 처리하는 TCP 또는 UDP 네트워크 서버 구축
- 여러 서비스를 동시에 호출하는 비동기 클라이언트 작성
- 타이머와 취소 기능을 사용하는 I/O 바운드 백그라운드 작업 실행
빠른 시작
- 1
Cargo.toml에 모든 기능을 포함해 Tokio를 추가합니다
tokio = { version = "1.54.1", features = ["full"] } - 2
main.rs에 TCP 에코 서버 예제를 작성하고 cargo로 프로젝트를 실행합니다
사용 전 알아둘 점
- Rust 툴체인이 필요하며, 지원되는 최소 Rust 버전은 1.85입니다.
- Tokio는 런타임 라이브러리이므로 직접 빌드하는 Rust 프로젝트 안에서만 유용합니다.
토픽
자주 묻는 질문
- tokio은(는) 무엇인가요?
- 안정적인 네트워크 애플리케이션 개발을 위해 작업 스케줄링, 논블로킹 I/O, 네트워킹, 타이머를 제공하는 Rust 비동기 런타임입니다. Tokio는 Rust로 비동기 애플리케이션을 작성하기 위한 이벤트 기반 논블로킹 I/O 플랫폼입니다. 멀티스레드 워크 스틸링 작업 스케줄러, 운영체제 이벤트 큐(epoll, kqueue, IOCP 등)를 기반으로 하는 리액터, 비동기 TCP 및 UDP 소켓을 함께 제공합니다.
- tokio은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- tokio은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- tokio은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. tokio의 마지막 커밋은 2026년 10월 24일입니다.
- tokio은(는) 어디에 사용할 수 있나요?
- Rust로 동시 연결을 많이 처리하는 TCP 또는 UDP 네트워크 서버 구축 여러 서비스를 동시에 호출하는 비동기 클라이언트 작성 타이머와 취소 기능을 사용하는 I/O 바운드 백그라운드 작업 실행
- tokio는 어떻게 설치하나요?
- Cargo.toml에 모든 기능을 포함해 Tokio를 추가합니다: tokio = { version = "1.54.1", features = ["full"] } main.rs에 TCP 에코 서버 예제를 작성하고 cargo로 프로젝트를 실행합니다
- tokio은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/tokio-rs/tokio
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
concurrent.futures를 사용해 HTTP 요청을 비동기로 보내는 Python requests 라이브러리용 소형 애드온입니다.
유지보수하기 쉽고 성능이 뛰어난 네트워크 프로토콜 서버와 클라이언트를 구축하기 위한 비동기 이벤트 기반 Java 프레임워크입니다.
Node.js의 이벤트 루프 기반이 되는 크로스 플랫폼 비동기 I/O C 라이브러리
Sogou의 백엔드 서비스에서 사용하는 C++11 병렬 컴퓨팅 및 비동기 네트워킹 프레임워크로, DAG 기반 태스크 워크플로를 구축합니다.
로컬 TCP 포트를 원격 서버로 연결해 localhost 서비스를 공개 인터넷에서 이용하게 하는 간결한 Rust CLI입니다.