# vthread **Repository Path**: james2026/vthread ## Basic Information - **Project Name**: vthread - **Description**: C/C++ vthread on all posix/windows. Easy-use and small. - **Primary Language**: C/C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-02 - **Last Updated**: 2026-04-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VThread - 高性能用户态线程库 [![C++17](https://img.shields.io/badge/C%2B%2B-17-blue.svg)](https://isocpp.org/) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Platform](https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows%20%7C%20BSD%20%7C%20Android-lightgrey.svg)]() VThread 是一个高性能的轻量级单文件 C++ 用户态线程库,提供轻量级协程支持,支持百万级并发,采用工作窃取调度算法,实现接近系统线程的易用性和远超系统线程的性能。 ## 特性 - **高性能** - 用户态上下文切换,比系统线程快 10-100 倍 - **百万级并发** - 单机可轻松创建百万个虚拟线程 - **工作窃取调度** - 自动负载均衡,充分利用多核 CPU - **优先级调度** - 支持 5 级线程优先级 - **动态扩缩容** - 工作线程数量根据负载自动调整 - **跨平台支持** - Linux、macOS、Windows、BSD、Android - **内存池优化** - 减少内存分配开销,提高缓存命中率 - **栈自动增长** - 支持栈溢出保护和自动扩容 - **批量处理** - 内置批量任务处理循环 - **事件驱动** - 内置事件循环支持 - **定时器支持** - 高精度定时器接口 ## 性能对比 | 操作 | 系统线程 | VThread | 性能提升 | |------|---------|---------|---------| | 创建/销毁 | ~10μs | ~0.1μs | 100x | | 上下文切换 | ~1-2μs | ~20-50ns | 20-50x | | 内存占用 | ~8MB/线程 | ~2KB/线程 | 4000x | | 最大并发 | ~10K | >1,000,000 | 100x+ | ## 快速开始 ### 基础用法 ```cpp #include "vthread.hpp" #include int main() { // 初始化调度器(4-8个工作线程) vthread_init(4, 8); // 创建虚拟线程 vthread_go({ for (int i = 0; i < 5; i++) { std::cout << "Hello from vthread! " << i << std::endl; vthread_sleep(100); // 休眠100ms,让出CPU } }); // 等待所有任务完成 vthread::scheduler::default_instance().wait_all(); return 0; }