메뉴 건너뛰기

넷서버 사용 팁/강좌

Synchronize 쉽게 사용하기

admin 2008.01.19 07:18 조회 수 : 3951

Synchronize메소드는 Protected메소드이므로 멀티스레드환경에서 자신이 생성한 스레드가 아닌 다른 컴포넌트에서 생성한 스레드내에서는 Synchronize를 사용하기가 곤란한 경우가 많습니다.
대표적인 경우가 넷서버의 서버에서 수신되는 클라이언트메세지의 처리작업이나 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);
..

번호 제목 글쓴이 날짜 조회 수
공지 이전게시판의 질문과답변 및 사용팁 메뉴얼관련 링크 admin 2008.01.23 4633
공지 넷서버 동영상 강좌 admin 2008.01.23 3915
공지 넷서버 소개문서 넷서버 2008.01.19 5110
31 midaslib를 추가해 주십시오 admin 2015.08.19 285
30 XE2 이후 unit scope table admin 2014.02.28 24162
29 Java 1.6버젼과 windows server 2008 r2 문제 admin 2011.12.13 3954
28 넷서버 에러코드 및 설명 admin 2011.06.04 5060
27 윈도우서버 2008 R2에서의 닷넷의 문제 admin 2010.05.27 33553
26 패키지의 설치시 폴더의 설정 admin 2009.03.17 49297
25 XP모드에서 TPanel의 Color 사용방법 admin 2008.05.23 4466
24 FibPlus에서 Boolean 필드사용방법 admin 2008.03.18 11541
23 SQLite의 사용상의 주의 admin 2008.02.28 4379
22 디버그컴포넌트(MaxExcept, EurekaLog...)의 사용시 유의사항 admin 2008.02.16 5296
21 Open Source ODBC DBX Driver admin 2008.02.05 3398
20 넷서버의 설치 방법 admin 2008.01.24 4873
19 [동영상] 넷서버 클라이언트 프로그램의 제작 admin 2008.01.24 3035
18 [동영상] 넷서버 서버의 제작 admin 2008.01.24 2700
17 Ch7. 채팅클라이언트 프로그램의 제작 admin 2008.01.24 3176
16 Ch6. 채팅서버 프로그램의 제작 admin 2008.01.24 3116
15 ch 5. 비즈니스오브젝트를 클라이언트에서 사용하기 admin 2008.01.24 2722
14 ch 4. 비즈니스오브젝트의 작성-서버 admin 2008.01.24 4479
13 ch 3.메세지클라이언트의 제작 admin 2008.01.24 4526
12 ch 2. 간단한 클라이언트프로그램의 제작 admin 2008.01.24 2988
위로