#context #coroutine #concurrency #green-thread

context_bind

简单的M:N线程库。应支持Linux、MacOS、Free/OpenBSD和Windows的x86/64以及aarch32/64

2个版本

使用旧Rust 2015

0.0.2 2016年11月3日
0.0.1 2016年11月3日

#57 in #coroutine

Apache-2.0

590KB
187

包含 (WOFF字体,120KB) docs/Heuristica-Italic.woff,(WOFF字体,90KB) docs/FiraSans-Medium.woff,(WOFF字体,92KB) docs/FiraSans-Regular.woff,(WOFF字体,56KB) docs/SourceCodePro-Regular.woff,(WOFF字体,56KB) docs/SourceCodePro-Semibold.woff,(WOFF字体,49KB) docs/SourceSerifPro-Bold.woff 等1个文件.

context_bind

从context-rs中绑定的所需功能

文档

这些是context库的简单绑定。目标是创建一个更面向对象的运行时环境。使用自由返回函数,可以更容易地嵌入到外部库中(目标是使嵌入async-mio功能更容易)。


    use context_bind::{Routine,StackSize,swap};
    
    let lambda = Box::new(||{
        for i in 0usize.. {
            swap(i*2);
        }
    });
    let lambda2 = Box::new(||{
        for i in 0usize.. {
            swap(i*4);
        }
    });
    let mut dut0 = Routine::new(lambda,1,StackSize::KiB8).unwrap();
    let mut dut1 = Routine::new(lambda2,2,StackSize::KiB8).unwrap();
    for x in 0..10 {
        let a = dut0.exec(0);
        let b = dut1.exec(0);
        assert_eq!(a,x*2);
        assert_eq!(b,x*4);
    }

要集成,请在您的Cargo.toml文件中使用以下内容。

[dependencies]
context_bindings = "0.0.1"

特别感谢context-rs的作者,没有这个库就不会存在。

Y. T. CHUNG

Leonard Hecker

依赖项