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

JAVA ¹²ÏíËøºÍÌõ¼þ±äÁ¿Ò»¶þ

¶àÏß³ÌÖ®¼äÐèҪЭµ÷¹¤×÷¡£ÀýÈ磬ä¯ÀÀÆ÷µÄÒ»¸öÏÔʾͼƬµÄÏß³Ì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ÖеÄÒ»¸ö²ÅÓлú»á»ñµÃËø¼ÌÐøÖ´ÐС£
 synchronizedµÄ4ÖÖÓ÷¨
1.·½·¨ÉùÃ÷ʱʹÓÃ,·ÅÔÚ·¶Î§²Ù×÷·û(publicµÈ)Ö®ºó,·µ»ØÀàÐÍÉùÃ÷(voidµÈ)֮ǰ.¼´Ò»´ÎÖ»ÄÜÓÐÒ»¸öÏ߳̽øÈë¸Ã·½·¨,ÆäËûÏß³ÌÒªÏëÔÚ´Ëʱµ÷Óø÷½·¨,Ö»ÄÜÅŶӵȺò,µ±Ç°Ïß³Ì(¾ÍÊÇÔÚsynchronized·½·¨ÄÚ²¿µÄÏß³Ì)Ö´ÐÐÍê¸Ã·½·¨ºó,±ðµÄÏ̲߳ÅÄܽøÈë.
      ÀýÈç:
   &nbs


Ïà¹ØÎĵµ£º

java£ºµÝ¹é£ºººÂÞËþÓÎÏ·¼ÆËã³ö×îÉٵIJ½Êý

package game;
public class HanTa {
 public static int i = 0;
 public static void main(String[] args){
  calc('A', 'B', 'C', 2);
  System.out.println("×îÉÙÐèÒª"+i+"²½¡£");
 }
 
 //ººÂÞËþÓÎÏ·¼ÆËã
 public static void calc(char src, char ilde, c ......

JAVAÊý¾ÝÀàÐÍÓëת»»

JavaÊý¾ÝÀàÐÍÓëת»»
JavaÊý¾ÝÀàÐÍ·ÖΪÈý´óÀà
²¼¶ûÐÍ£¬×Ö·ûÐÍ(char)£¬ÊýÖµÐÍ(ÕûÊý,¸¡µãÐÍ)
ÕûÊýÀàÐÍÓУºbyte(8bits)¡¢short(16bits)¡¢int(32bits)¡¢long(64bits)¡¢
¸¡µãÀàÐÍÓУºµ¥¾«¶È£¨32bits float£©¡¢Ë«¾«¶È£¨64bits double£©
booleanÀàÐͱäÁ¿µÄȡֵÓУºture¡¢false
charÊý¾ÝÀàÐÍÓУºunicode×Ö·û,16λ
Êý¾ÝÀàÐÍת» ......

µ÷Õû Java I/O ÐÔÄÜ

ÕâÆªÎÄÕÂÌÖÂۺͲûÃ÷ÁËÌṩ JavaTM I/O ÐÔÄܵĶàÖÖ¼¼Êõ¡£´ó¶à¼¼ÊõÎ§ÈÆµ÷Õû´ÅÅÌÎļþ I/O,µ«ÊÇÓÐЩÄÚÈÝҲͬÑùÊʺÏÍøÂç I/O ºÍ´°¿ÚÊä³ö¡£µÚÒ»²¿·Ö¼¼ÊõÌÖÂ۵ײãµÄI/OÎÊÌ⣬ȻºóÌÖÂÛÖîÈçѹËõ£¬¸ñʽ»¯ºÍ´®Ðл¯µÈ¸ß¼¶I/OÎÊÌ⡣Ȼ¶øÕâ¸öÌÖÂÛûÓаüº¬Ó¦ÓÃÉè¼ÆÎÊÌ⣬ÀýÈçËÑË÷Ëã·¨ºÍÊý¾Ý½á¹¹£¬Ò²Ã»ÓÐÌÖÂÛϵͳ¼¶µÄÎÊÌ⣬ÀýÈçÎļþ¸ßËÙ»º³å ......

Java´®¿Ú±à³Ì3

    ÖÕÓÚÍê³ÉÁË´®¿ÚµÄ±àд£¬¹¦Äܼܺòµ¥£¬ÈçÏ£º
    ×ö³öÒ»¸ö¼òµ¥½çÃæ£¬Ïò´®¿Ú·¢ËÍÌØ¶¨µÄÃüÁ´®¿ÚÉϽÓÓй©²âÊÔÓõĴ®¿ÚÉ豸£©£¬½ÓÊÕÉ豸·µ»ØµÄÊý¾ÝÔÚ½çÃæÉÏÏÔʾ£º
import gnu.io.CommPortIdentifier;
import gnu.io.PortInUseException;
import gnu.io.SerialPort;
import gnu.io.Ser ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ