Creating a shared reference type
Jonathan M Davis
jmdavisProg at gmx.com
Fri Jul 13 16:20:25 PDT 2012
On Saturday, July 14, 2012 01:10:46 Minas Mina wrote:
> I'm want to "play" a bit with thread syncronization...
>
> So this is a (big) part of my code. The other is the imports, the
> thread starting and the printing of x.
>
> shared int x;
> shared Semaphore sema;
>
> void main(string[] args)
> {
> auto t1 = new Thread(&f);
> auto t2 = new Thread(&g);
>
> sema = new Semaphore(1); // error here
>
> The error is: Error: cannot implicitly convert expression (new
> Semaphore(1u)) of type core.sync.semaphore.Semaphore to
> shared(Semaphore)
>
> I understand what the error means, I just don't know how to fix
> it (to make it explicit). I tried new shared (Semaphore(1)) but
> doesn't work.
Try
sema = new shared(Semaphore)(1);
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list