import core.thread;
import std.concurrency;
import std.stdio;
class Foo
{
void test(int x)
{
static int count;
count += x;
writeln(count);
}
}
void main()
{
spawn(&test1);
spawn(&test2);
}
void test1()
{
auto foo = new Foo;
foreach (i; 0 .. 1000)
{
foo.test(1);
Thread.sleep(dur!("msecs")(50));
}
}
void test2()
{
auto foo = new Foo;
foreach (i; 0 .. 1000)
{
foo.test(-1);
Thread.sleep(dur!("msecs")(50));
}
}