| 

.NET C# Java Javascript Exception

5
Hallo Zusammen,

ich habe vor eine C++ Konsolen-Anwendung in Visual Studio 2010 zu erstellen die folgende 2 Threads enthält:

1. Daten aus einer externen Datei lesen
2. Daten in eine externe Datei schreiben

Ich habe mir bereits die Theorie bezüglich von Threads durchgelesen aber weiß noch nicht wie ich es genau umsetzen soll. Könnte mir jemand kurz und knapp zeigen wie ich ganz einfach diese 2 Threads in Visual Studio 2010 erstelle und ausführen kann?

Gute Tutorials oder Code Beispiele sind auch Willkommen!

Bereits im Voraus vielen Dank!
News:
27.11.2011
tommy45 23 1 4
2 Antworten
1
ein beipiel
#include <windows.h>
#include <stdio.h>
#include <process.h>
#include <time.h>
#include "threads.h"
int main()
{
thread t;
printf("Start programm\n");
t.run_threads(); // run threads

//the main programm should wait on the threads
Sleep(1000);

//when all threads are deleted
printf("End programm\n");

return 0;
}


in threads.h werden dann die threads definiert
#include "read_data.h" // thread 1
#include "write_data.h" // thread 2

class thread
{
public:
thread();
~thread();
bool run_threads();

private:
unsigned int count_threads; //anzahl offener threads

// dann startest du die threads
bool thread::run_threads()
{
count_threads++;
_beginthread(thread_read_data);

count_threads++;
_beginthread(thread_write_data);

return true;
}


in read_data.h und write.h definierst du dann einfach was dort genau gemacht werden soll.

mehr informationen zum thema findest du auch unter http://www.MSDN.com/

viel erfolg!
27.11.2011
burner007 810 1 2 9
burner007 810 1 2 9
Vielen Dank für das Beispiel! Es ist nun deutlicher wie ich vorgehen muss
tommy45 27.11.2011
0
ich habe hier ein beispiel gefunden!

class Thread
{
public:
Thread();
int Start(void * arg);
protected:
int Run(void * arg);
static void * EntryPoint(void*);
virtual void Setup();
virtual void Execute(void*);
void * Arg() const {return Arg_;}
void Arg(void* a){Arg_ = a;}
private:
THREADID ThreadId_;
void * Arg_;

};

Thread::Thread() {}

int Thread::Start(void * arg)
{
Arg(arg); // store user data
int code = thread_create(Thread::EntryPoint, this, & ThreadId_);
return code;
}

int Thread::Run(void * arg)
{
Setup();
Execute( arg );
}

/*static */
void * Thread::EntryPoint(void * pthis)
{
Thread * pt = (Thread*)pthis;
pthis->Run( Arg() );
}

virtual void Thread::Setup()
{
// Do any setup here
}

virtual void Thread::Execute(void* arg)
{
// Your code goes here
}


hier weiß ich nicht welche dateien noch importiert werden müssen
27.11.2011
tommy45 23 1 4

Stelle deine Cplusplus-Frage jetzt!