¾ÛÅøÁî
46.¢½.168.138
46.¢½.168.129
46.¢½.168.161
46.¢½.168.136
46.¢½.168.145
46.¢½.168.162
46.¢½.168.144
46.¢½.168.140
115.¢½.135.198
46.¢½.168.139
 
°Ô½Ã¹° 9°Ç
   
¾Èµå·ÎÀÌµå ½º·¹µå¿Í dalvickVM Ç÷¹À̾î¿ÍÀÇ °ü°è¿¡ ´ëÇÑ Áú¹®
±Û¾´ÀÌ : ±èº´ÁÖ                   ³¯Â¥ : 2012-02-07 (È­) 17:48 Á¶È¸ : 5681
¾Èµå·ÎÀ̵å´Â ±âº»ÀûÀ¸·Î ÀÚ¹Ù ¾²·¹µå Çü½ÄÀ» µû¶ó°£´Ù´Â°ÍÀ¸·Î ¾Ë°í ÀÖ½À´Ï´Ù.
 
¾Èµå·ÎÀ̵å´Â main ½º·¹µå°¡ ÇϳªÀÇ ¾îÇø®ÄÉÀ̼ǿ¡¼­ µ¶Á¡ÀûÀ¸·Î ÀÛµ¿Çϸç
 
mainÀÇ ÀÚ½Ä ¾²·¹µå¸¦ handlerµîÀ» ÅëÇÏ¿© ¸ÖƼ ½º·¹µù ±â´ÉÀ» Á¦°øÇÑ´Ù°í ¾Ë°í ÀÖ½À´Ï´Ù.
 
Á¦°¡ ±Ã±ÝÇÑ°ÍÀº ¹Ù·Î ¾²·¹µåÀÇ wait(Times)ºÎºÐÀÔ´Ï´Ù.
 
wait(Times)ȤÀº waitÀÇ °æ¿ì ¹Ýµå½Ã notify() ȤÀº notifyAll()°ú ÇÔ²² ½ÖÀ» ÀÌ·ç¾î¾ß ÇÕ´Ï´Ù.
 
Å×½ºÆ®¿ëÀ¸·Î ¾²·¹µå¸¦ ´Ù·ç´ø Áß À̺κп¡¼­ ¹®Á¦°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.
 
Ŭ·¡½º·Î implements ½ÃŲ ¾²·¹µå, ÀÏ¹Ý °´Ã¼ »ý¼º ½º·¹µå, ÀÌ³Ê¸Õ Å¸ÀÔ ¾²·¹µå
 
¿ä 3°³¸¦ °¡Áö°í ½ÇÇèÇØ ºÃ´Âµ¥.
 
boolean flag = false;
public void run()
{
    ArrayList<Long> time.addAll(Time);
   //Time ={500,300,600,1500....};
  
    int a = 0;
      while(!flag){
     syncronized(this)
    {
       this.wait(time);
      Log.i("String","String"+a);
       this.notify();
     a++;
     if(a>time.size())
           {
               flag = true;
            }
    }
     }
}
 
if(flag ==true)
{
thread.stop();
thread.interrupt();

}
 
ÀÏ¹Ý wait()ÀÇ °æ¿ì Á¤»ó ÀÛµ¿ÇÕ´Ï´Ù.
ÇÏÁö¸¸ long ¹è¿­ÀÇ °ªÀ» ¹Þ¾Æ¿Í¼­ wait¿¡ ´ë±â ½Ã°£À» Á÷Á¢ ÁÖ°í
±× ½Ã°£ ÀÌÈÄ¿¡ ±ú¾î³ª°Ô Çصΰí, getStackTracer¿Í
isDeamon, isAlive¸¦ üũÇغ¸¾Ò½À´Ï´Ù.
½º·¹µåÀÇ È°µ¿ÀÌ flag¿¡ ÀÇÇØ Á¾·á µÇ¾úÀ½¿¡µµ ºÒ±¸ÇÏ°í,
½º·¹µå´Â Á¾·áµÇÁö ¾Ê½À´Ï´Ù.
¹®Á¦´Â ÀÌ ½º·¹µå¸¦ ´Ù½ÃÇѹø ½ÇÇàÇÏ°Ô µÇ¸é wait()¿¡¼­
ŸÀӾƿô ¿À·ù°¡ ³ª¸é¼­ °­Á¦Á¾·á µÇ°Ô µË´Ï´Ù.
 
ÀÌ¿¡ ´ëÇÑ ÇØ°á ¹æ¹ýÀ¸·Î ¼­ºñ½º¸¦ ÀÌ¿ëÇÏ¿© ¾²·¹µå¸¦ µ¹·Áº¸¾Ò½À´Ï´Ù.
À̶§´Â ¼­ºñ½º ÀÚü°¡ destroyµÇ°í ¼­ºñ½ºÀÚü°¡ ÇϳªÀÇ ½º·¹µå¿µ¿ªÀ» °®°Ô µÇ¹Ç·Î
Á¤»óÀûÀ¸·Î ÀÛµ¿Çϴ°ÍÀ¸·Î º¸ÀÔ´Ï´Ù.
 
¹®Á¦´Â mainActivityºÎºÐ¿¡¼­ Àú°ÍÀÌ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù´Âµ¥¿¡ ÀÖ½À´Ï´Ù.
getNameÀ» Çغ¸¾ÒÀ¸³ª, ÀڽĽº·¹µå·Î »ý¼ºÇغ¸¾Æµµ getName()Àº main
À» ¸®ÅÏÇÏ¿´½À´Ï´Ù.
 
Ȥ½Ã ½º·¹µå¸¦ »ç¿ëÇϽôٰ¡ À§¿Í °°Àº ¹®Á¦¸¦ ¹ß°ßÇϽðí ÇØ°áÇÏ´Â ¹æ¹ýÀ» ¾Ë°í °è½Ã´ÂºÐ
°è½Ã´ÂÁö¿ä?
 
¹®Á¦¿¡¼­ ¿ä±¸µÇ´Â °ÍÀº
 
Çѹø ¿ÏÀüÈ÷ ½ÇÇàµÇ°í Á¾·áµÈ Thread¿¡¼­ NotRunnable »óÅÂÀÇ wait(Time)ÀÌ
´Ù½Ã ÇØ´ç ½º·¹µå¸¦ ½ÃÀÛ½Ãų¶§ wait(Time)µÈ »óÅ°¡ ŸÀÓ ¾Æ¿ôµÇÁö ¾Ê°í Á¤»óÀûÀ¸·Î
ÀÛµ¿ÇÏ°ÔÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.
¾Æ¹°·Ð notify()¿Í notifyAll()¸ðµÎ »ç¿ëÇغ¸¾ÒÀ¸³ª ÀüÇô Á¦±â´ÉÀ» ¸øÇÕ´Ï´Ù.
 
* ±ÛÀ» µî·ÏÇϽǶ§ ²À ÇÊ¿äÇÑ °æ¿ì°¡ ¾Æ´Ï¸é °³ÀÎÁ¤º¸¸¦ ³²±âÁö ¸¶¼¼¿ä ^^ (¿¬¶ôó,À̸ÞÀÏÁÖ¼Ò,Áֹεî·Ï¹øÈ£ µî)




±èº´ÁÖ ´ÔÀÇ Q&A ÃÖ½Å±Û [´õº¸±â]


 
±è¼ºÅ 2012-05-06 (ÀÏ) 12:35
wait()¿Í notify()°¡ ½ÖÀ¸·Î ¾²Àδٴ°ÍÀº À§¿Í°°Àº °°Àº  ÇÔ¼ö¿¡¼­ ¾²´Â°ÍÀÌ ¾Æ´Õ´Ï´Ù
À§ÀÇ Äڵ忡¼­ this.notify()´Â ¾Æ¹« Àǹ̾ø´ÂÄÚµåÀÔ´Ï´Ï´Ù.

¿Ã¹Ù¸¥ ¿ë¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù.
---------------------------------------------
synchronized (someObject) {
    someObject.wait();
}
//´Ù¸¥¾²·¹µå³ª ¿ÀºêÁ§Æ®¿¡¼­
synchronized (someObject) {
    someObject.notify();
}
-------------------------------------
wait(½Ã°£)À» È£ÃâÇϱ⶧¹®¿¡ ¾²·¹µå ÀÚ½ÅÀÌ ÀÚµ¿À¸·Î ±ú¾î³ª¹Ç·Î notify()´Â ÇÊ¿ä°¡ ¾ø½À´Ï´Ù.
¶ÇÇÑ ¿ÜºÎ¿¡¼­ thread.stop()À» Á÷Á¢ÀûÀ¸·Î È£ÃâÇϴ°ÍÀº À߸øµÈ ¹æ¹ýÀÔ´Ï´Ù.
(ÂüÁ¶: http://docs.oracle.com/javase/6/docs/api/java/lang/Thread.html)

¾²·¹µåÀÇ ³»ºÎ while¿¡¼­ flag¸¦ ÀÌ¹Ì °áÁ¤ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ±×flag¸¦ Àо
Á¾·áÇϴ°ÍÀÌ ¿Ã¹Ù¸¥ ¹æ¹ýÀÏ °ÍÀÔ´Ï´Ù.
   

°Ô½Ã¹° 9°Ç
¹øÈ£ Á¦¸ñ ±Û¾´ÀÌ ³¯Â¥ Á¶È¸
9     ¾È³çÇϼ¼¿ä ^^ À̹ÌÁö ÇÊÅÍ È¿°ú °ü·Ã Áú¹®µå¸³´Ï´Ù. ±èº´ÁÖ 08-02 4881
8     ½º¸¶Æ®Æù µð¹ÙÀ̽º Á¦¾î¹æ¹ý.. ±èº´ÁÖ 08-02 4883
7        http ÆÄ½Ì °í¼ö´ÔµéÀÇ Á¶¾ðÀÌ ÇÊ¿äÇØ¿ä !! ¤Ð¤Ð ±èº´ÁÖ 08-02 4624
6  ¼ôÄÆ Áú¹®ÀÔ´Ï´Ù. +1 ±èº´ÁÖ 07-25 4711
5  ¾Èµå·ÎÀÌµå ½º·¹µå¿Í dalvickVM Ç÷¹À̾î¿ÍÀÇ °ü°è¿¡ ´ëÇÑ Áú¹® +1 ±èº´ÁÖ 02-07 5682
4     ¾Èµå·ÎÀÌµå ±×¸®µåºä ¼Ò½º Çؼ®Á» µµ¿ÍÁÖ¼¼¿ä ¤Ð¤Ð(¼öÁ¤) +1 ±èº´ÁÖ 09-26 6339
3  ¾Èµå·ÎÀ̵å..±¸±Û Ä̸°´õ ¿¬µ¿ Çϴ¹æ¹ý. +2 ±èº´ÁÖ 08-01 6956
2     °¡»ê ¹æ½ÄÀ¸·Î È­¸é¿¡ »Ñ¸®´Â°Ô °¡´ÉÇÑ°¡¿ä? (addictive) ±èº´ÁÖ 09-26 4178
1     À̹ÌÁö ¹öÆ° 9°³Á¤µµ ¹è¿­ °¡´ÉÇϳª¿ä? ±èº´ÁÖ 08-04 4054
 
 
 
Copyright ¨Ï wwwold.androidstudy.co.kr. All rights reserved.