|
µ¨¸¶´ç °ø½Ä ÀºÇà°èÁ |
ÇϳªÀºÇà 227-910235-83607 |
¿¹±ÝÁÖ ÀÌ»ó±¹(¿î¿µÁø) |
|
|
|
|
|
|
|
|
|
|
°ÁÂ, ÆÁ, Á¤º¸ |
°ÁÂ, ÆÁ, Á¤º¸ ÀÔ´Ï´Ù. |
|
|
|
TThread.Synchronize À߸ø ¿À¿ëÇÏ´Â °æ¿ì |
coding
(±Ç¼øÈ£)
2018-03-05 ¿ÀÈÄ 2:37:37
Ä«Å×°í¸®:
ÆÁ
5906ȸ Á¶È¸
µî·ÏµÈ ÆÄÀÏÀÌ ¾ø½À´Ï´Ù.
|
|
|
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°¡ ºí·¯Å· µË´Ï´Ù.
|
|
|
|
|
|
|
|
|