[C/C++] Threads durch Referenz Addresse?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von cIntX, 16. Januar 2008 .

  1. 16. Januar 2008
    Threads durch Referenz Addresse?

    Hallo, ich hab mal wieder eine kleine Frage, ist diesmal ein wenig schwierig es zu erklären.

    Also ich beschreibe erstmal den aufbau:
    Ich habe die Server.cpp Datei in dem die Clients akzeptiert werden, die verbindung ist über Socket (TCP) gesteuert. Sobald ein Client verbindet wird eine neue Class erstellt die durch die ClientManager Class akzeptiert wird.

    Das ganze sieht so aus:
    Code:
    void DataThread(void * pClientInfo) {
     CClientThread * Client = g_pClientManager->AcceptClient(pClientInfo, SQL);
     Client->ReadData();
     printf("Thread Closed\n");
     _endthread();
    }
    der ClientManager speichert die Class im Vector um später die Classes miteinander zu Kommunizieren.

    Die Frage ist: Wen ich den Thread Starte und eine Class referenziere also den ClientManager und rufe eine funktion vom ClientManager im Thread auf, ist der ClientManager im Thread mit bezogen oder läuft der ClientManager dan im haupt Thread?

    Das ist wichtig weil ich möchte nicht das der ClientManager durch ürgendwelche Loops die Threads behindert.

    Danke im vorraus und ich hoffe es nicht zu kompliziert.
     
  2. 16. Januar 2008
    AW: Threads durch Referenz Addresse?

    in der regel werden objekte beim start initailisiert, über den konstruktor, sobald du eine anweisung wie:

    Code:
    CClientManager *mgr = new CClientManager(parameter1, parameter2);
    
    verwendest, rufst du den konstruktor auf. geschieht dies in einem thread, dann hat der thread die aufgabe das Objekt auf zu bauen, während ein anderer thread andere dinge tut. sobald du jetzt im gleichen thread auf das objekt zurück greifst, bzw irgendwelche methoden starten willst, laufen diese alle in diesem thread ab. parallel dazu laufen wohl noch andere dinge ab. falls mit der synchronisation etwas nicht stimmt, pausiere einfach an der geeigneten stelle den thread um 10ms und dann verschwinden solche probleme. du willst ja schließlich keine wilden zeiger erzeugen.
     
  3. 16. Januar 2008
    AW: Threads durch Referenz Addresse?

    Danke klingt verständlich, ich arbeite schon 2 Tage ohne pause an dem Projekt bin total erschöpft und werde jetzt mal ne auszeit nehmen. Danke! BW is raus.
     
  4. 16. Januar 2008
    AW: Threads durch Referenz Addresse?

    viel glück bei der fertigstellung. threads in c++ sind mir nicht bekannt, bzw die verwendung. in java kenne ich mich da schon aus
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.