loom:C99 的无锁线程池

时间:2024-07-21 16:09:40
【文件属性】:

文件名称:loom:C99 的无锁线程池

文件大小:23KB

文件格式:ZIP

更新时间:2024-07-21 16:09:40

C

loom -- C99 的无锁线程池 Loom 创建一个任务队列和工作线程池。 工作人员按计划运行任务,否则睡眠直到工作可用。 注意:这仍处于开发初期。 我已经在多核 x86 / x86-64 系统上对其进行了压力测试,它应该是安全无锁的,但在具有不同内存屏障的硬件平台上可能存在竞争条件。 __sync_bool_compare_and_swap在内部使用,因此可移植性将仅限于该功能可用的平台/编译器。 构建状态 主要特征: 无锁:通过在内部使用操作来避免锁争用开销。 无分配:初始化后不分配。 背压支持:backlog 大小是公开的,以允许对填充队列的上游代码进行成比例的推回。 可以针对特定应用程序调整线程数和任务队列的大小。 ISC 许可证:您可以*使用它,甚至可以用于商业目的。 入门 首先,初始化线程池: /* The default configuration. I


【文件预览】:
loom-master
----.travis.yml(62B)
----loom.c(14KB)
----greatest.h(36KB)
----test_loom.c(5KB)
----benchmarks.c(13KB)
----loom_internal.h(6KB)
----.gitignore(29B)
----Makefile(1KB)
----loom.h(3KB)
----README.md(5KB)

网友评论