D中core.sync.condition的奇怪设计

时间:2018-09-12 20:06:17

标签: concurrency d

在D编程语言中,类Mutex具有其方法的共享和非共享版本。这是合乎逻辑的—互斥锁在线程之间共享。但是类Condition根本没有共享方法。为什么?也许我错过了一些东西,但这对我来说很奇怪,因为这样的代码不起作用:

class Foo {
    private Mutex mtx;
    private Condition cnd;

    shared this() {
        mtx = new Mutex(this); // error: no constructor Mutex(shared Object)
        cnd = new Condition(mtx); // error: no constructor Condition(shared Mutex)
    }
}

请赐教)

0 个答案:

没有答案