C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[27435] Therad(쓰레드) 에 대해서 너무나 궁금합니다. 다음에 관해서 설명해주세요 api함수에 대해서 문의
하수구만 [hasu90000] 1135 읽음    2003-10-08 16:37
#include <vcl.h>
#pragma hdrstop
#include "thread5main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
int Count;
HANDLE hCountUp, hCountDown;               //요기요??

__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    mMessage->Lines->Clear();
   
    Count = 0;
    hCountUp = CreateEvent(NULL, FALSE, TRUE, NULL);  //요기요??
    hCountDown = CreateEvent(NULL, FALSE, FALSE, NULL); //요기요??
    UpThread = new TCounterThread(TRUE);
    DownThread = new TCounterThread(FALSE);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
    UpThread->Terminate();
   
    DownThread->Terminate();

    CloseHandle(hCountUp);
    CloseHandle(hCountDown);
}
//---------------------------------------------------------------------------
__fastcall TCounterThread::TCounterThread(bool TheCountUp) : TThread(TRUE)
{
    FreeOnTerminate = TRUE;
    CountUp = TheCountUp;
    Resume();
}
void __fastcall TCounterThread::Execute(void)
{
    while(!Terminated)
    {
        if(CountUp)
            WaitForSingleObject(hCountUp, INFINITE);  //요기요??
        else
            WaitForSingleObject(hCountDown, INFINITE);  //요기요??

        if(CountUp)
        {
            Count +=10;
            Sleep(1000);
            Synchronize(UpdateDisplay);
            SetEvent(hCountDown);  //요기요??
        }

        else
        {
            Count -=10;
            Sleep(1000);
            Synchronize(UpdateDisplay);
            SetEvent(hCountUp);  //요기요??
        }
    }
}
void __fastcall TCounterThread::UpdateDisplay(void)
{
    if(Form1->mMessage->Lines->Count > 200)
        Form1->mMessage->Lines->Clear();

    if(CountUp)
        Form1->mMessage->Lines->Add("Count up thread "+ IntToStr(Count));
    else
        Form1->mMessage->Lines->Add("Count down thread "+ IntToStr(Count));
}


중간중간에 보면요 //요기요?? 라는 부분에 대해서 자세히 설명좀 해주세요

너무 어려워요 벌써 책 5번째 똑같은걸 읽고있습니다. 번역본이라 말이 매끄럽지 못해서
먼말인지... 도통...몰겟어여 고수님들 지도 부탁드려요

헤더파일도 원하시면 올려드릴게요

+ -

관련 글 리스트
27435 Therad(쓰레드) 에 대해서 너무나 궁금합니다. 다음에 관해서 설명해주세요 api함수에 대해서 문의 하수구만 1135 2003/10/08
27439     Re:Therad(쓰레드) 에 대해서 너무나 궁금합니다. 다음에 관해서 설명해주세요 api함수에 대해서 문의 smleelms 2871 2003/10/08
33602         Re:Re:Therad(쓰레드) 에 대해서 너무나 궁금합니다. 다음에 관해서 설명해주세요 api함수에 대해서 문의 smleelms 1123 2003/10/08
33601         Re:Re:Therad(쓰레드) 에 대해서 너무나 궁금합니다. 다음에 관해서 설명해주세요 api함수에 대해서 문의 하수구만 1068 2003/10/08
33600         Re:Re:Therad(쓰레드) 에 대해서 너무나 궁금합니다. 다음에 관해서 설명해주세요 api함수에 대해서 문의 하수구만 1139 2003/10/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.