<div dir="ltr"><div dir="ltr"><div dir="ltr"><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="Arial, Helvetica Neue, Helvetica, sans-serif" size="2"><span style="font-weight:400">Class core.sync.Mutex has shared and non-shared versions of its methods. This is logical — mutex is shared between threads. But class core.sync.Condition doesn't have shared methods at all. Why? Maybe I missed something, but it's very strange for me, because such code doesn't work:</span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="Arial, Helvetica Neue, Helvetica, sans-serif" size="2"><span style="font-weight:400"><br></span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="Arial, Helvetica Neue, Helvetica, sans-serif" size="2"><span style="font-weight:400">---</span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="monospace, monospace" size="2"><span style="font-weight:400">class Foo {</span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="monospace, monospace" size="2"><span style="font-weight:400">    private Mutex mtx;</span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="monospace, monospace" size="2"><span style="font-weight:400">    private Condition cnd;</span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="monospace, monospace" size="2"><span style="font-weight:400"><br></span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="monospace, monospace" size="2"><span style="font-weight:400">    shared this() {</span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="monospace, monospace" size="2"><span style="font-weight:400">        mtx = new Mutex(this); // error: no constructor Mutex(shared Object)</span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="monospace, monospace" size="2"><span style="font-weight:400">        cnd = new Condition(mtx); // error: no constructor Condition(shared Mutex)</span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="monospace, monospace" size="2"><span style="font-weight:400">    }</span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="monospace, monospace" size="2"><span style="font-weight:400">}</span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="Arial, Helvetica Neue, Helvetica, sans-serif" size="2"><span style="font-weight:400">---</span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="Arial, Helvetica Neue, Helvetica, sans-serif" size="2"><span style="font-weight:400"><br></span></font></h1><h1 class="gmail-grid--cell gmail-fs-headline1 gmail-fl1" style="margin:0px 0px 0.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.3;vertical-align:baseline;box-sizing:inherit"><font color="#242729" face="Arial, Helvetica Neue, Helvetica, sans-serif" size="2"><span style="font-weight:400">Please enlighten me)</span></font></h1></div></div></div>