Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [C++] Teoria

Visualizzazione discussione

  1. #8
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    in questo pseudo codice in formato Borland Builder non mi spiego alcune cose.
    Dichiaro due thread e li istanzio. Poi uso il metodo Syncronize() per evitare collisioni con la UI per inviare messaggi su socket. Effettivamente funziona, ma quale dei due thread invia i messaggi?
    Questo non mi è chiaro.
    Visto così, ho creato due thread gemelli che fanno la medesima cosa: sbaglio?

    codice:
    class TMyThread : public TThread
    {
    protected:
       void __fastcall Execute();
    public:
       __fastcall TMyThread();
       void __fastcall MySincrSock1();
       void __fastcall MySincrSock2();
    };
    
    TMyThread *Thread1 = NULL;
    TMyThread *Thread2 = NULL;
    
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
       Thread1 = new TMyThread();
       Thread2 = new TMyThread();
    }
    
    
    void __fastcall TMyThread::Execute()
    {
       while (!Terminated)
       {
          Synchronize(&MySincrSock1);
          Sleep(200);
          Synchronize(&MySincrSock2);
          Sleep(200);
       }
    }
    
    void __fastcall TMyThread::MySincrSock1()
    {
            if(Form1->ServerSocket1->Socket->ActiveConnections>0)
                    Form1->ServerSocket1->Socket->Connections[0]->SendText("aabbccdd");
    }
    
    
    void __fastcall TMyThread::MySincrSock2()
    {
            if(Form1->ServerSocket2->Socket->ActiveConnections>0)
                    Form1->ServerSocket2->Socket->Connections[0]->SendText("eeffgghh");
    }
    //---------------------------------------------------------------------------
    Ultima modifica di misterx; 01-08-2018 a 18:31

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.