相关疑难解决方法(0)

为什么OS线程被认为是昂贵的?

有许多解决方案适用于实现"用户空间"线程.无论是golang.org goroutines,python的绿色线程,C#的异步,erlang的进程等.这个想法是允许并发编程,即使是单个或有限数量的线程.

我不明白的是,为什么操作系统线程如此昂贵?正如我所看到的,无论哪种方式,你必须保存任务的堆栈(操作系统线程或用户空间线程),这是几十千字节,你需要一个调度程序在两个任务之间移动.

操作系统免费提供这两种功能.OS线程为什么要比"绿色"线程更昂贵?由于每个"任务"都有专用的OS线程,导致性能下降的原因是什么?

multithreading threadpool

27
推荐指数
4
解决办法
3330
查看次数

标签 统计

multithreading ×1

threadpool ×1