libsnooze 0.3.3
A wait/notify mechanism for D
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
<p align="center"> <img src="branding/logo.png" width=220> </p>
<h1 align="center">libsnooze</h1>
<h3 align="center"><i><b>A wait/notify mechanism for D</i></b></h3>
API
To see the full documentation (which is always up-to-date) check it out on DUB.
Usage
Importing issues
Currently importing just with import libsnooze
is broken, we recommend you import as follows:
import libsnooze.clib;
import libsnooze;
Which should build!
Example
Firstly we create an Event
which is something that can be notified or awaited on. This is simply accomplished as follows:
Event myEvent = new Event();
Now let's create a thread which consumes myEvent
and waits on it:
class TestThread : Thread
{
private Event event;
this(Event event)
{
super(&worker);
this.event = event;
}
public void worker()
{
writeln("("~to!(string)(Thread.getThis().id())~") Thread is waiting...");
event.wait();
writeln("("~to!(string)(Thread.getThis().id())~") Thread is waiting... [done]");
}
}
TestThread thread1 = new TestThread(event);
thread1.start();
Now on the main thread we can do the following to wakeup waiting threads:
/* Wake up all sleeping on this event */
event.notifyAll();
- Registered by Tristan B. Velloza Kildaire
- 0.3.3 released a year ago
- deavmi/libsnooze
- LGPL v3.0
- Copyright © 2023, Tristan B. Velloza Kildaire
- Authors:
- Dependencies:
- none
- Versions:
-
1.3.0-beta 2023-Jun-29 1.2.3-beta 2023-Jun-29 1.2.2-beta 2023-Jun-26 1.2.1-beta 2023-Jun-26 1.2.0-beta 2023-Jun-24 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
1 downloads this month
-
415 downloads total
-
- Score:
- 0.0
- Short URL:
- libsnooze.dub.pm