www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Timer and Event class

reply David <d dav1d.de> writes:
I was in the need for a threaded Timer, so I wrote one:

https://github.com/Dav1dde/BraLa/blob/master/brala/utils/thread.d

Do you think I should make a pull request for phobos inclusion?
Aug 08 2012
parent reply Johannes Pfau <nospam example.com> writes:
Am Thu, 09 Aug 2012 01:06:23 +0200
schrieb David <d dav1d.de>:

 I was in the need for a threaded Timer, so I wrote one:
 
 https://github.com/Dav1dde/BraLa/blob/master/brala/utils/thread.d
 
 Do you think I should make a pull request for phobos inclusion?
A timer would be cool. It would be nicer (though more complicated to implement) to support multiple timers running in one thread. Mono had And we should probably try to support a generic API for timers (either templates, isTimer!T, etc or classes+interfaces) as EventLoops (libev, libevent, glib, windows sure has some as well) provide more efficient ways to implement timers. As for the event struct: I'm not sure, as a implementation detail it's fine, but as a public API I'm not sure.
Aug 09 2012
parent David <d dav1d.de> writes:
Am 09.08.2012 12:06, schrieb Johannes Pfau:
 Am Thu, 09 Aug 2012 01:06:23 +0200
 schrieb David <d dav1d.de>:

 I was in the need for a threaded Timer, so I wrote one:

 https://github.com/Dav1dde/BraLa/blob/master/brala/utils/thread.d

 Do you think I should make a pull request for phobos inclusion?
A timer would be cool. It would be nicer (though more complicated to implement) to support multiple timers running in one thread. Mono had
You would have to implement the timer completly different, it uses a Condition Lock (core.sync.cond) to wait, except you can wait on multiple locks at once and return when one of these is notified.
 And we should probably try to support a generic API for timers (either
 templates, isTimer!T, etc or classes+interfaces) as EventLoops (libev,
 libevent, glib, windows sure has some as well) provide more efficient
 ways to implement timers.
This is true, but you don't always want/need a Event Loop.
Aug 09 2012