[SDL] Threads and C++
Ochendrowitsch Pablo
losky at thered.com.ar
Thu Aug 14 11:26:01 PDT 2003
The simplest method i guess is using a proxi function.
I think its interesting to say there is a lib called Adaptive
communication Enviroment (ACE) that is a c++ toolkit over
signals
times
threards
memory management
IPC
Pipes
Sockets
In the area of threads, it has the function thread and the
implementation of two pattern based objects, "task" and "active object"
The task is a thread object derived of the class ACE_Task. To use it
you have to subclass the task class and implement three methods:
class::open(); class::close();
to initialice and clean your thread enviroment.
class::svc(); // or Servece Procesing Method
it is used as entry point.
then
myclass mythread;
mythread.open();
mythread.active(num_of_threads);
it also implements a mesage queue, one for each thread, to allow the
threads comunicate between them.
The other pattern is the active object. In this, all methods calling
are non block calls (all the object run in a thread, and all the calls
are done async). It hard to explain it so if you wanna know, it is open
source and has a page on the net, but i just dont have it here.
Other posibility is to implemen the task base class yourself, i think
it is not so hard and even it may encapsulate a proxy function.
Wish to be usefull
Losky
El 2003.08.14 07:52, Damiano escribió:
> Hello,
>
> My questions may seem silly but I was wondering how I could use
> threads with
> C++, i.e., by using a member function in SDL_CreateThread().
>
> For example :
>
> int Class::Function(void *nothing)
> {
> return 0;
> }
>
> SDL_CreateThread(Class::Function, NULL);
>
> I know this doesn't work, but is there a work-around ? Using an
> intermediary
> non-member function with (this) as parameter ?
>
>
> Thanks,
>
> Damiano
>
>
> _______________________________________________
> SDL mailing list
> SDL at libsdl.org
> http://www.libsdl.org/mailman/listinfo/sdl
>
More information about the SDL
mailing list