±ÍÇÏ´Â ¼Õ´Ô À̽ʴϴÙ
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ
  
  µ¨¸¶´ç °ø½Ä ÀºÇà°èÁÂ
  ÇϳªÀºÇà 227-910235-83607
  ¿¹±ÝÁÖ ÀÌ»ó±¹(¿î¿µÁø)
ÇÁ·ÎÁ§Æ® °Ô½ÃÆÇ
ÅõÇ¥°Ô½ÃÆÇ
µ¨¸¶´ç¼Ò°³
±âÃʺÎÅÍ È°¿ë±îÁö! µ¨ÆÄÀÌ ±³À° - µ¥ºê±â¾î
°­ÁÂ, ÆÁ, Á¤º¸ °­ÁÂ, ÆÁ, Á¤º¸ ÀÔ´Ï´Ù.
±Û³»¿ë - °­ÁÂ, ÆÁ, Á¤º¸
 TThread.Synchronize À߸ø ¿À¿ëÇϴ °æ¿ì
coding
(±Ç¼øÈ£)
2018-03-05 ¿ÀÈÄ 2:37:37
Ä«Å×°í¸®: ÆÁ
5842ȸ Á¶È¸



µî·ÏµÈ ÆÄÀÏÀÌ ¾ø½À´Ï´Ù.
procedure TForm3.Button2Click(Sender: TObject);
begin
    TThread.Synchronize (TThread.CurrentThread, procedure ()
    begin
       Sleep(5000);
    end);
end;


thread safe °¡ ¾Æ´Ñ vcl À» ÀÌ¿ëÇϱâ À§ÇØ TThread.Synchronize()¸¦ »ç¿ëÇÒ °æ¿ì

TThread.Synchronize()µµ ¸¶Âù°¡Áö·Î ¸ÞÀΠ¾²·¹µå ÄÁÅؽºÆ®·Î µ¹¾Æ°¡±â ¶§¹®¿¡
Synchronize() °¡ ½ÇÇàµÇ´Â Áöü ½Ã°£ÀÌ ±æ¾îÁö¸é, ±× ½Ã°£ ¸¸Å­ ¸ÞÀξ²·¹µå UI°¡ ºí·¯Å· µË´Ï´Ù.

¾²·¹µå »ç¿ëÇϴ °Ô ¹«¿ëÁö¹°ÀÌ µÇ´Â ¼ÀÀÌÁÒ. 

¾²·¹µå °³³ä ¾ø´Â »ç¶÷µéÀÌ À̸¦Å׸頳×Æ®¿÷À» ÅëÇØ Å« ¿ë·®ÀÇ ÆÄÀÏÀ» Àü¼Û¹Þ´Â ·ÎÁ÷À» ¸¸µé ¶§
TThread.Synchronize()¸¦ Àú·± ½ÄÀ¸·Î ÀÌ¿ëÇϴ °æ¿ì°¡ ¸¹Àºµ¥ ¾²·¹µå¸¦ °³³ä¾øÀÌ À߸ø »ç¿ëÇÏ°í Àִ °Å¿¡¿ä.


TThread.Queue() µµ ¸¶Âù°¡Áö ÀÔ´Ï´Ù.


procedure TForm3.Button2Click(Sender: TObject);
begin
    TThread.Queue (TThread.CurrentThread, procedure ()
    begin
       Sleep(5000);
    end);
end;


TThread.Queue()À» È£ÃâÇϸ頾²·¹µå Å¥¿¡ ³Ö°í ¹Ù·Î ¸®ÅÏÇÏÁö¸¸
Snchronize()¿Í ¸¶Âù°¡Áö·Î ¸ÞÀΠ¾²·¹µå ÄÁÅؽºÆ®·Î µ¹¾Æ°¡±â ¶§¹®¿¡ TThread.Queue() ½ÇÇà ºí·°ÀÌ ÁöüµÇ¸é
ÁöüµÇ´Â ½Ã°£ ¸¸Å­ ¸ÞÀΠ¾²·¹µå UI°¡ ºí·¯Å· µË´Ï´Ù.