🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
2 messages
2 total messages Started by Degrande Jeffrey Mon, 05 Aug 2002 08:41
pthread vanuit C++ class
#7707
Author: Degrande Jeffrey
Date: Mon, 05 Aug 2002 08:41
46 lines
1761 bytes
hoi,

ik wil vanuit de constructor van een class een aantal memberfuncties in 
aparte threads laten lopen.  Ik kom er echter niet helemaal uit.

Ideaal zou zijn als ik iets zou kunnen doen als (voorbeeldje)

#include <pthread.h>
Class blaat
{
        
        public:
                blaat();
                ~blaat();
                void *capture( void *);
                void *write (void *);
}

//.cpp
#include "blaat.h"
blaat::blaat() {
        pthread_t tCAP;
        pthread_t tWRI;
        
        pthread_create ( &tCAP, NULL, &capture, NULL );
        pthread_create ( &tWRI, NULL, &write, NULL); 

        // ...
}

void * blaat::capture( void *) {
        //bla bla bla
}

void * blaat::write( void * ) {
        //bla bla bla
}
        


Werkt echter aan geen kanten.  Iemand een suggestie/idee/voorbeeld hoe je 
iets dergelijks deftig aanpakt?


mvg,
Degrande Jeffry
Re: pthread vanuit C++ class
#7722
Author: Dominique Devriese
Date: Mon, 05 Aug 2002 19:05
47 lines
2343 bytes
Degrande Jeffrey <jeffrey@rwt.be> writes:

> hoi,
> 
> ik wil vanuit de constructor van een class een aantal memberfuncties in 
> aparte threads laten lopen.  Ik kom er echter niet helemaal uit.
> 
> Ideaal zou zijn als ik iets zou kunnen doen als (voorbeeldje)
> 
> #include <pthread.h>
> Class blaat
> {
>         
>         public:
>                 blaat();
>                 ~blaat();
>                 void *capture( void *);

probeer eens static void* capture( void* );

>                 void *write (void *);

hier hetzelfde...

anders geeft &capture immers een object van het type
"void* (blaat::*)( void* )" ( of hoe schrijf je een member pointer ook
weer neer.. ?) en niet "void* (*) ( void* )", wat pthread_create
verwacht... 

> }
<snip>

> Werkt echter aan geen kanten.  Iemand een suggestie/idee/voorbeeld hoe je 
> iets dergelijks deftig aanpakt?

bij deze..
ik kan je trouwens ook de thread library van boost
(http://www.boost.org/) aanraden.  Dat is een goeie C++-library voor
threads, die m.i. makkelijker te gebruiken is dan pthreads.  Boost
heeft trouwens nog meer interessante libs...

sjuus
domi

-- 
If this is the DATING GAME I want to know your FAVORITE PLANET!  Do
get th' MICROWAVE MOPED? 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads