000
21.02.2008, 19:49 Uhr
~threadi
Gast
|
Hallo,
Also folgender Codeauszug:
C++: |
#include <iostream>
using namespace std;
int main () { // Make a .time file in /tmp directory for time measuring algorythm system("touch /tmp/time");
/*
THIS IS THE THREAD FOR THE TIME MEASURE!!!
*/ // Here come the threading parts pthread_t thread1, thread2; char *message1 = argv[2]; int iret1; // Create the thread and link them with threadf function iret1 = pthread_create( &thread1, NULL, threadf, (void*) message1); // Join them pthread_join( thread1, NULL); cout << "Hello From Main"; }
void *threadf( void *ptr ) { // The variable argument will get the time to wait in seconds // Basically it's just the argv[2]! //char *argument; //argument = (char *) ptr;
//int timewait = atoi(argument); // We are in the threaded function // Time to wait goes here sleep(10); system ("rm -rf /tmp/time");
}
|
Sollte jetzt eigentlich nich folgendes passieren: Der Thread wird gestartet. Es wird auf dem Bildschirm "Hello From Main" angezeigt. Der Thread wartet derweil parallel die 10 Sekunden ab und löscht dann /tmp/time !
Was passiert ist: Es wird 10 Sekunden gewartet. /tmp/time wird gelöscht. Es wird "Hello From Main" angezeigt. Also ob es eine normale Funktion ist.
compilieren tu ich mit:
Code: |
# g++ -pthread test_thread.cpp -o thread.out
|
LG und Danke für die Hilfe Dieser Post wurde am 21.02.2008 um 19:54 Uhr von FloSoft editiert. |