Annotation of sbbs/src/xpdev/clx/threadcreate/threadunit.cpp, revision 1.1

1.1     ! root        1: 
        !             2: //---------------------------------------------------------------------------
        !             3: 
        !             4: #include <clx.h>
        !             5: #pragma hdrstop
        !             6: 
        !             7: #include "ThreadUnit.h"
        !             8: #pragma package(smart_init)
        !             9: //---------------------------------------------------------------------------
        !            10: 
        !            11: //   Important: Methods and properties of objects in CLX can only be
        !            12: //   used in a method called using Synchronize, for example:
        !            13: //
        !            14: //      Synchronize(UpdateCaption);
        !            15: //
        !            16: //   where UpdateCaption could look like:
        !            17: //
        !            18: //      void __fastcall TMyThread::UpdateCaption()
        !            19: //      {
        !            20: //        Form1->Caption = "Updated in a thread";
        !            21: //      }
        !            22: //---------------------------------------------------------------------------
        !            23: 
        !            24: __fastcall TMyThread::TMyThread(bool CreateSuspended)
        !            25:        : TThread(CreateSuspended)
        !            26: {
        !            27: }
        !            28: void __fastcall TMyThread::AddToLog()
        !            29: {
        !            30:        Log->Lines->Add(ThreadID);
        !            31: }
        !            32: //---------------------------------------------------------------------------
        !            33: void __fastcall TMyThread::Execute()
        !            34: {
        !            35:        while(!Terminated) {
        !            36:        Synchronize(AddToLog);
        !            37:         /* TThreadList is a simplier way to use a thread-safe TList */
        !            38:                CriticalSection->Enter();
        !            39:                List->Add(new AnsiString(ThreadID));
        !            40:         CriticalSection->Leave();
        !            41:            Sleep(1000);
        !            42:     }
        !            43: }
        !            44: //---------------------------------------------------------------------------

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.