Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Java Ïß³Ì Thread ¶ÔÏóËøµÄwaitºÍnotify½âÎö

ͨ³££¬¶àÏß³ÌÖ®¼äÐèҪЭµ÷¹¤×÷¡£ÀýÈ磬ä¯ÀÀÆ÷µÄÒ»¸öÏÔʾͼƬµÄÏß³ÌdisplayThreadÏëÒªÖ´ÐÐÏÔʾͼƬµÄÈÎÎñ£¬±ØÐëµÈ´ýÏÂÔØÏß³ÌdownloadThread½«¸ÃͼƬÏÂÔØÍê±Ï¡£Èç¹ûͼƬ»¹Ã»ÓÐÏÂÔØÍ꣬displayThread¿ÉÒÔÔÝÍ££¬µ±downloadThreadÍê³ÉÁËÈÎÎñºó£¬ÔÙ֪ͨdisplayThread“ͼƬ׼±¸Íê±Ï£¬¿ÉÒÔÏÔʾÁË”£¬Õâʱ£¬displayThread¼ÌÐøÖ´ÐС£
¡¡
¡¡
¡¡¡¡ÒÔÉÏÂß¼­¼òµ¥µÄ˵¾ÍÊÇ£ºÈç¹ûÌõ¼þ²»Âú×㣬ÔòµÈ´ý¡£µ±Ìõ¼þÂú×ãʱ£¬µÈ´ý¸ÃÌõ¼þµÄÏ߳̽«±»»½ÐÑ¡£ÔÚJavaÖУ¬Õâ¸ö»úÖÆµÄʵÏÖÒÀÀµÓÚwait/notify¡£µÈ´ý»úÖÆÓëËø»úÖÆÊÇÃÜÇйØÁªµÄ¡£ÀýÈ磺
¡¡¡¡
¡¡¡¡synchronized(obj) {
¡¡¡¡   while(!condition) {
¡¡   ¡¡obj.wait();
¡¡¡¡  }
¡¡¡¡
  obj.doSomething();
¡¡¡¡}
¡¡¡¡
¡¡¡¡
µ±Ïß³ÌA»ñµÃÁËobjËøºó£¬·¢ÏÖÌõ¼þcondition²»Âú×㣬ÎÞ·¨¼ÌÐøÏÂÒ»´¦Àí£¬ÓÚÊÇÏß³ÌA¾Íwait()¡£
¡¡¡¡
¡¡¡¡ÔÚÁíÒ»Ïß³ÌBÖУ¬Èç¹ûB¸ü¸ÄÁËijЩÌõ¼þ£¬Ê¹µÃÏß³ÌAµÄconditionÌõ¼þÂú×ãÁË£¬¾Í¿ÉÒÔ»½ÐÑÏß³ÌA£º
¡¡synchronized(obj) {
¡¡¡¡condition = true;
¡¡¡¡obj.notify();
¡¡
¡¡}
¡¡¡¡
¡¡
¡¡ÐèҪעÒâµÄ¸ÅÄîÊÇ£º
¡¡# µ÷ÓÃobjµÄwait(), notify()·½·¨Ç°£¬±ØÐë»ñµÃobjËø£¬Ò²¾ÍÊDZØÐëдÔÚsynchronized(obj) {...} ´úÂë¶ÎÄÚ¡£
¡¡# µ÷ÓÃobj.wait()ºó£¬Ïß³ÌA¾ÍÊÍ·ÅÁËobjµÄËø£¬·ñÔòÏß³ÌBÎÞ·¨»ñµÃobjËø£¬Ò²¾ÍÎÞ·¨ÔÚsynchronized(obj) {...} ´úÂë¶ÎÄÚ»½ÐÑA¡£
¡¡# µ±obj.wait()·½·¨·µ»Øºó£¬Ïß³ÌAÐèÒªÔٴλñµÃobjËø£¬²ÅÄܼÌÐøÖ´ÐС£
¡¡# Èç¹ûA1,A2,A3¶¼ÔÚobj.wait()£¬ÔòBµ÷ÓÃobj.notify()Ö»ÄÜ»½ÐÑA1,A2,A3ÖеÄÒ»¸ö£¨¾ßÌåÄÄÒ»¸öÓÉJVM¾ö¶¨£©¡£
¡¡
¡¡ # obj.notifyAll()ÔòÄÜÈ«²¿»½ÐÑA1,A2,A3£¬µ«ÊÇÒª¼ÌÐøÖ´ÐÐobj.wait()µÄÏÂÒ»ÌõÓï¾ä£¬±ØÐë»ñµÃobjËø£¬Òò´Ë£¬A1,A2,A3Ö»ÓÐÒ»¸öÓлú»á»ñµÃËø¼ÌÐøÖ´ÐУ¬ÀýÈçA1£¬ÆäÓàµÄÐèÒªµÈ´ýA1ÊÍ·ÅobjËøÖ®ºó²ÅÄܼÌÐøÖ´ÐС£
¡¡¡¡
¡¡¡¡# µ±Bµ÷ÓÃobj.notify/notifyAllµÄʱºò£¬BÕý³ÖÓÐobjËø£¬Òò´Ë£¬A1,A2,A3Ëä±»»½ÐÑ£¬µ«ÊÇÈÔÎÞ·¨»ñµÃobjËø¡£Ö±µ½BÍ˳ösynchronized¿é£¬ÊÍ·ÅobjËøºó£¬A1,A2,A3ÖеÄÒ»¸ö²ÅÓлú»á»ñµÃËø¼ÌÐøÖ´ÐС£


Ïà¹ØÎĵµ£º

java ¶¨Ê±Æ÷µÄʹÓã¨Timer£©

µÚÒ»ÖÖ·½·¨Îª³£¼ûÇÒÒ×ÓÚÉÏÊÖ
1¡¢ÔÚÓ¦Óÿª·¢ÖУ¬¾­³£ÐèҪһЩÖÜÆÚÐԵIJÙ×÷£¬±ÈÈçÿ5·ÖÖÓÖ´ÐÐijһ²Ù×÷
µÈ¡£¶ÔÓÚÕâÑùµÄ²Ù×÷×î·½±ã¡¢¸ßЧµÄʵÏÖ·½Ê½¾ÍÊÇʹÓÃjava.util.Timer¹¤¾ßÀà¡£
private java.util.Timer timer;
timer
= new Timer(true);
timer.schedule(
new java.util.TimerTask() {
public void run() { // ......

java Ï̵߳÷ÓÃHttpClientµÄʵÁ¦

×¢Òâ,Óõ½ÁËÄÚ²¿Àà:
new Thread
   (
     new Runnable()
     {
      public void run()
      {
       try
    &n ......

Java IO InputStreamReader

      ºÜ¶àµÄÎı¾Îļþ»áÓв»Í¬µÄ±àÂë¸ñʽ£¬Ôì³ÉÕâÖÖ±àÂë²îÒìµÄ¿ÉÄÜÊÇϵͳµÄ²îÒ죬¿ÉÄÜÊÇÔÚ±£´æÎļþʱ²ÉÓÃÌØ¶¨µÄ×Ö·û¼¯±àÂëÀ´±£´æ¡£ÕâʱÎÒÃÇÀûÓÃJavaÓïÑÔÀ´´ò¿ªÕâЩÎı¾Ê±£¬Èç¹û²»Ê¹ÓÃÕýÈ·µÄ×Ö·û¼¯½âÂëÆ÷´ò¿ª£¬¿Ï¶¨»á³öÏÖÂÒÂë¡£ºÃÔÚjava.io°üÌṩÁËÒ»¸öjava.io.InputStreamReaderÀàÀ´Ö§³ÖÖ¸¶¨Îı¾× ......

JavaÓïÑÔ»ù´¡ÖªÊ¶

JavaÓïÑÔ»ù´¡ÖªÊ¶
³ÌÐòÔ±¶Ô³ÌÐòÖеĸ÷¸öÔªËØ¼ÓÒÔÃüÃûʱʹÓõÄÃüÃû¼ÇºÅ³ÆÎª±êʶ·û£¨identifier£©¡£
JavaÓïÑÔÖУ¬±êʶ·ûÊÇÒÔ×Öĸ£¬Ï»®Ïߣ¨_£©,ÃÀÔª·û($)¿ªÊ¼µÄÒ»¸ö×Ö·ûÐòÁУ¬ºóÃæ¿ÉÒÔ¸ú×Öĸ£¬Ï»®Ïߣ¬ÃÀÔª·û£¬Êý×Ö¡£
ÀýÈ磬identifier£¬userName£¬User_Name£¬_sys_val£¬ $changeΪºÏ·¨µÄ±êʶ·û£¬¶ø2mail room#£¬class Ϊ· ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ