Synchronize메소드는 Protected메소드이므로 멀티스레드환경에서 자신이 생성한 스레드가 아닌 다른 컴포넌트에서 생성한 스레드내에서는 Synchronize를 사용하기가 곤란한 경우가 많습니다.
대표적인 경우가 넷서버의 서버에서 수신되는 클라이언트메세지의 처리작업이나 BusinessObject처리작업입니다.
이 경우 쉽게 사용할 수 있는 방법입니다.
** 델파이 7이상 : TThead.Synchronize(nil, Threadmethod)
예)
...
대표적인 경우가 넷서버의 서버에서 수신되는 클라이언트메세지의 처리작업이나 BusinessObject처리작업입니다.
이 경우 쉽게 사용할 수 있는 방법입니다.
** 델파이 7이상 : TThead.Synchronize(nil, Threadmethod)
예)
...
TThread.Synchronize(ShowData);
** 직접 구현하는 경우
type
TSync = class(TThread)
private
fmethod: TThreadmethod;
public
constructor Create(m: TThreadmethod);
procedure Execute; override;
end;
implementation
{ TSync }
constructor TSync.Create(m: TThreadmethod);
begin
inherited Create(fasle);
Freeonterminate := true;
fmethod := m;
end;
procedure TSync.Execute;
begin
Synchronize(fmethod);
end;
예)
...
TSync.Create(ShowData);
..
** 직접 구현하는 경우
type
TSync = class(TThread)
private
fmethod: TThreadmethod;
public
constructor Create(m: TThreadmethod);
procedure Execute; override;
end;
implementation
{ TSync }
constructor TSync.Create(m: TThreadmethod);
begin
inherited Create(fasle);
Freeonterminate := true;
fmethod := m;
end;
procedure TSync.Execute;
begin
Synchronize(fmethod);
end;
예)
...
TSync.Create(ShowData);
..
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 이전게시판의 질문과답변 및 사용팁 메뉴얼관련 링크 | admin | 2008.01.23 | 5209 |
공지 | 넷서버 동영상 강좌 | admin | 2008.01.23 | 3915 |
공지 | 넷서버 소개문서 | 넷서버 | 2008.01.19 | 5116 |
28 | 패키지의 설치시 폴더의 설정 | admin | 2009.03.17 | 101277 |
27 | XE2 이후 unit scope table | admin | 2014.02.28 | 58805 |
26 | 윈도우서버 2008 R2에서의 닷넷의 문제 | admin | 2010.05.27 | 39037 |
25 | FibPlus에서 Boolean 필드사용방법 | admin | 2008.03.18 | 11552 |
24 | DLL과 Deadlock | admin | 2008.01.20 | 6364 |
23 | 디버그컴포넌트(MaxExcept, EurekaLog...)의 사용시 유의사항 | admin | 2008.02.16 | 5328 |
22 | 넷서버 에러코드 및 설명 | admin | 2011.06.04 | 5064 |
21 | 넷서버의 설치 방법 | admin | 2008.01.24 | 4879 |
20 | ch 3.메세지클라이언트의 제작 | admin | 2008.01.24 | 4529 |
19 | ch 4. 비즈니스오브젝트의 작성-서버 | admin | 2008.01.24 | 4481 |
18 | XP모드에서 TPanel의 Color 사용방법 | admin | 2008.05.23 | 4471 |
17 | SQLite의 사용상의 주의 | admin | 2008.02.28 | 4383 |
16 | ch 1. 간단한 BDE서버의 제작 | admin | 2008.01.24 | 4004 |
» | Synchronize 쉽게 사용하기 | admin | 2008.01.19 | 3962 |
14 | Java 1.6버젼과 windows server 2008 r2 문제 | admin | 2011.12.13 | 3961 |
13 | Open Source ODBC DBX Driver | admin | 2008.02.05 | 3403 |
12 | Ch7. 채팅클라이언트 프로그램의 제작 | admin | 2008.01.24 | 3180 |