| Thread overview | |||||||
|---|---|---|---|---|---|---|---|
|
March 25, 2015 How to properly Thread.sleep? | ||||
|---|---|---|---|---|
| ||||
Ive tried using google but no matter what code i find it either doesnt work, compiler gives me errors or maybe the code is deprecated.
What is the proper way of adding sleep time to a program?
Ive tried..
import std.stdio;
import core.thread;
void main()
{
writeln("Sleep..");
sleep(200);
writeln("done");
}
but all i get is a compiler error unidentified identifier sleep.
The documentation examples dont make sense. Why would it work this way?
Thread.sleep( dur!("msecs")( 50 ) ); // sleep for 50 milliseconds
Thread.sleep( dur!("seconds")( 5 ) ); // sleep for 5 seconds
| ||||
March 25, 2015 Re: How to properly Thread.sleep? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Israel | On Wednesday, 25 March 2015 at 17:23:40 UTC, Israel wrote:
> Ive tried using google but no matter what code i find it either doesnt work, compiler gives me errors or maybe the code is deprecated.
>
> What is the proper way of adding sleep time to a program?
> Ive tried..
>
> import std.stdio;
> import core.thread;
>
> void main()
> {
> writeln("Sleep..");
> sleep(200);
> writeln("done");
> }
>
> but all i get is a compiler error unidentified identifier sleep.
>
> The documentation examples dont make sense. Why would it work this way?
>
> Thread.sleep( dur!("msecs")( 50 ) ); // sleep for 50 milliseconds
> Thread.sleep( dur!("seconds")( 5 ) ); // sleep for 5 seconds
Thread.sleep(200.msecs);
Thread.sleep(12.seconds);
Thread.sleep(1.minutes);
| |||
March 25, 2015 Re: How to properly Thread.sleep? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Israel | On Wednesday, 25 March 2015 at 17:23:40 UTC, Israel wrote: > What is the proper way of adding sleep time to a program? The documentation examples are exactly how you can do it: Thread.sleep( dur!("msecs")( 50 ) ); // sleep for 50 milliseconds Thread.sleep( dur!("seconds")( 5 ) ); // sleep for 5 seconds Try one of those lines in your program and you'll see it work. You can also call the various C functions to do it but the Thread.sleep is often a bit easier. > The documentation examples dont make sense. Why would it work this way? sleep is a static method on the Thread class, so you need to call it Thread.sleep instead of plain sleep, and the argument uses a different type to make the units a bit more clear. I believe Thread.sleep(3.seconds); shoudl also work. | |||
March 25, 2015 Re: How to properly Thread.sleep? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Israel | On 03/25/2015 10:23 AM, Israel wrote:
> Ive tried using google but no matter what code i find it either doesnt
> work, compiler gives me errors or maybe the code is deprecated.
>
> What is the proper way of adding sleep time to a program?
> Ive tried..
>
> import std.stdio;
> import core.thread;
>
> void main()
> {
> writeln("Sleep..");
> sleep(200);
Replace that with
Thread.sleep(200.msecs);
> writeln("done");
> }
>
> but all i get is a compiler error unidentified identifier sleep.
>
> The documentation examples dont make sense.
Here is alternative documentation:
http://ddili.org/ders/d.en/parallelism.html#ix_parallelism.Thread.sleep
> hy would it work this way?
>
> Thread.sleep( dur!("msecs")( 50 ) ); // sleep for 50 milliseconds
> Thread.sleep( dur!("seconds")( 5 ) ); // sleep for 5 seconds
UFCS makes it easier by making those 50.msecs and 5.seconds.
Ali
| |||
March 25, 2015 Re: How to properly Thread.sleep? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Sad panda | On Wednesday, 25 March 2015 at 17:25:50 UTC, Sad panda wrote:
> Thread.sleep(200.msecs);
> Thread.sleep(12.seconds);
> Thread.sleep(1.minutes);
There we go, thank you so much.
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply