Re: [LAD] Inter thread Communication: Design Approach

From: Florian Paul Schmidt <mista.tapas@email-addr-hidden>
Date: Fri Sep 02 2011 - 11:36:15 EEST

On 09/01/2011 10:37 PM, Harry van Haaren wrote:
>
> Functors & closures, yeah I suppose... for now this system is working,
> and quite easy to add new types to (does need a big recompile after a
> change though.. as heaps of headers include the "Event" type, as its
> pretty much to core of the Engine.. :)
>

Hmm, i used Functors and Closures in jass for passing commands to the
realtime thread and wrote a small article about it.

http://178.63.2.231/~tapas/wordpress/?page_id=45

Coupled with a poor man's garbage collection scheme using
boost::shared_ptr's this was a quite quick way to hack up jass. There's
no need to introduce new types if you want to do something new. Actually
there's only exactly one type that gets passed through the command
ringbuffer and that is boost::function<void(void)>. See e.g.

https://github.com/fps/jass/blob/master/engine.h

and

https://github.com/fps/jass/blob/master/main_window.h

I agree that this method doesn't necessarily scale to other kind of
applications and it also might be a bit more error prone than a well
thought out event system using types that cover all bases, it does make
for a quite good solution for an app of the scope of jass..

Have fun,
Flo

> -Harry
>
> PS: Nice article on "Duct tape programming":
> http://www.joelonsoftware.com/items/2009/09/23.html Especially read
> the paragraph beside the photo of the guy jumping
>

Taking a look..

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Fri Sep 2 12:15:01 2011

This archive was generated by hypermail 2.1.8 : Fri Sep 02 2011 - 12:15:02 EEST