JavaỊ̈߳ºÏ̵߳Ľ»»¥
JavaỊ̈߳ºÏ̵߳Ľ»»¥
SCJP5ѧϰ±Ê¼Ç
Ï߳̽»»¥ÊDZȽϸ´ÔÓµÄÎÊÌ⣬SCJPÒªÇ󲻺ܻù´¡£º¸ø¶¨Ò»¸ö³¡¾°£¬±àд´úÂëÀ´Ç¡µ±Ê¹Óõȴý¡¢Í¨ÖªºÍ֪ͨËùÓÐÏ̡߳£
Ò»¡¢Ï߳̽»»¥µÄ»ù´¡ÖªÊ¶
SCJPËùÒªÇóµÄÏ߳̽»»¥ÖªÊ¶µãÐèÒª´Ójava.lang.ObjectµÄÀàµÄÈý¸ö·½·¨À´Ñ§Ï°£º
void notify()
»½ÐÑÔڴ˶ÔÏó¼àÊÓÆ÷ÉϵȴýµÄµ¥¸öÏ̡߳£
void notifyAll()
»½ÐÑÔڴ˶ÔÏó¼àÊÓÆ÷ÉϵȴýµÄËùÓÐÏ̡߳£
void wait()
µ¼Öµ±Ç°µÄÏ̵߳ȴý£¬Ö±µ½ÆäËûÏ̵߳÷Óô˶ÔÏóµÄ notify() ·½·¨»ò notifyAll() ·½·¨¡£
µ±È»£¬wait()»¹ÓÐÁíÍâÁ½¸öÖØÔØ·½·¨£º
void wait(long timeout)
µ¼Öµ±Ç°µÄÏ̵߳ȴý£¬Ö±µ½ÆäËûÏ̵߳÷Óô˶ÔÏóµÄ notify() ·½·¨»ò notifyAll() ·½·¨£¬»òÕß³¬¹ýÖ¸¶¨µÄʱ¼äÁ¿¡£
void wait(long timeout, int nanos)
µ¼Öµ±Ç°µÄÏ̵߳ȴý£¬Ö±µ½ÆäËûÏ̵߳÷Óô˶ÔÏóµÄ notify() ·½·¨»ò notifyAll() ·½·¨£¬»òÕ߯äËûij¸öÏß³ÌÖжϵ±Ç°Ị̈߳¬»òÕßÒѳ¬¹ýij¸öʵ¼Êʱ¼äÁ¿¡£
ÒÔÉÏÕâЩ·½·¨ÊǰïÖúÏ̴߳«µÝÏ̹߳ØÐĵÄʱ¼ä״̬¡£
¹ØÓڵȴý/֪ͨ£¬Òª¼ÇסµÄ¹Ø¼üµãÊÇ£º
±ØÐë´Óͬ²½»·¾³ÄÚµ÷ÓÃwait()¡¢notify()¡¢notifyAll()·½·¨¡£Ï̲߳»Äܵ÷ÓöÔÏóÉϵȴý»ò֪ͨµÄ·½·¨£¬³ý·ÇËüÓµÓÐÄǸö¶ÔÏóµÄËø¡£
wait()¡¢notify()¡¢notifyAll()¶¼ÊÇObjectµÄʵÀý·½·¨¡£Óëÿ¸ö¶ÔÏó¾ßÓÐËøÒ»Ñù£¬Ã¿¸ö¶ÔÏó¿ÉÒÔÓÐÒ»¸öÏß³ÌÁÐ±í£¬ËûÃǵȴýÀ´×Ô¸ÃÐźţ¨Í¨Öª£©¡£Ïß³Ìͨ¹ýÖ´ÐжÔÏóÉϵÄwait()·½·¨»ñµÃÕâ¸öµÈ´ýÁÐ±í¡£´ÓÄÇʱºòÆð£¬Ëü²»ÔÙÖ´ÐÐÈÎºÎÆäËûÖ¸Áֱµ½µ÷ÓöÔÏóµÄnotify()·½·¨ÎªÖ¹¡£Èç¹û¶à¸öÏß³ÌÔÚͬһ¸ö¶ÔÏóÉϵȴý£¬Ôò½«Ö»Ñ¡ÔñÒ»¸öỊ̈߳¨²»±£Ö¤ÒÔºÎÖÖ˳Ðò£©¼ÌÐøÖ´ÐС£Èç¹ûûÓÐÏ̵߳ȴý£¬Ôò²»²ÉÈ¡ÈκÎÌØÊâ²Ù×÷¡£
ÏÂÃæ¿´¸öÀý×Ó¾ÍÃ÷°×ÁË£º
/**
* ¼ÆËãÊä³öÆäËûÏß³ÌËø¼ÆËãµÄÊý¾Ý
*
* @author leizhimin 2008-9-15 13:20:38
*/
public class ThreadA {
public static void main(String[] args) {
ThreadB b = new
Ïà¹ØÎĵµ£º
ÃæÊÇÎÒÈÏΪÕýÈ·µÄ×ö·¨£¨½áºÏ×Ô¼ºµÄ¾ÑéдµÄ£¬Èç¹û²»ÕýÈ·£¬Çë´ó¼ÒÖ¸Õý£©£º
¡¡¡¡ÎҵĻæÍ¼¿Ø¼þÊÇJPanel£¬
¡¡¡¡³öÏÖ¹ö¶¯ÌõµÄǰÌᣬ±ØÐëÈûæÍ¼¿Ø¼þ·ÅÔÚJScrollPaneÉÏ£¬
¡¡¡¡¶ÔÓÚJScrollPaneµÄLayout£¬Ã»ÓÐÌØÊâÒªÇó£¬ÏÂÃæÕâÑù¼´¿É£º
¡¡¡¡view plaincopy to clipboardprint?
¡¡¡¡jScrollPane1.setViewportView(jPanel1);
¡¡ ......
Genaral Principles Ò»°ãÔ¼¶¨
1.Adhere to the style
of the original.
±£³Ö×î³õµÄÑùʽ¡£
2.Adhere to the Principle of Least
Astonishment.
×ñÊØ×îС¾ªÆæÔÔò¡£
3.Do it right the first time.
µÚÒ»´Î¾ÍÓ¦µ±×öºÃ¡£
4.Document any deviations.
¶ÔÓÚÈκα³Àë¶¼Ó¦µ±Îĵµ×¢ÊÍ¡£
Formatting
Convent ......
Ò»¡¢ÈÏʶ¶àÈÎÎñ¡¢¶à½ø³Ì¡¢µ¥Ï̡߳¢¶àÏß³Ì
ÒªÈÏʶ¶àÏ߳̾ÍÒª´Ó²Ù×÷ϵͳµÄÔÀí˵Æð¡£
ÒÔǰ¹ÅÀϵÄDOS²Ù×÷ϵͳ£¨V 6.22£©Êǵ¥ÈÎÎñµÄ£¬»¹Ã»ÓÐÏ̵߳ĸÅÄϵͳÔÚÿ´ÎÖ»ÄÜ×öÒ»¼þÊÂÇé¡£±ÈÈçÄãÔÚcopy¶«Î÷µÄʱºò²»ÄÜrenameÎļþÃû¡£ÎªÁËÌá¸ßϵͳµÄÀûÓÃЧÂÊ£¬²ÉÓÃÅú´¦ÀíÀ´ÅúÁ¿Ö´ÐÐÈÎÎñ¡£
ÏÖÔڵIJÙ×÷ϵͳ¶¼ÊǶàÈÎÎñ² ......
JavaỊ̈߳º´´½¨ÓëÆô¶¯
SCJP5ѧϰ±Ê¼Ç
Ò»¡¢¶¨ÒåÏß³Ì
1¡¢À©Õ¹java.lang.ThreadÀà¡£
´ËÀàÖÐÓиörun()·½·¨£¬Ó¦¸Ã×¢ÒâÆäÓ÷¨£º
public void run()
Èç¹û¸ÃÏß³ÌÊÇʹÓöÀÁ¢µÄ Runnable ÔËÐжÔÏó¹¹ÔìµÄ£¬Ôòµ÷Óøà Runnable ¶ÔÏóµÄ run ·½·¨£»·ñÔò£¬¸Ã·½·¨²»Ö´ÐÐÈκβÙ×÷²¢·µ»Ø¡£
T ......
JavaỊ̈߳ºÏß³Ì״̬µÄת»»
SCJP5ѧϰ±Ê¼Ç
Ò»¡¢Ïß³Ì״̬
Ï̵߳Ä״̬ת»»ÊÇÏ߳̿ØÖƵĻù´¡¡£Ïß³Ì״̬×ܵĿɷÖΪÎå´ó״̬£º·Ö±ðÊÇÉú¡¢ËÀ¡¢¿ÉÔËÐС¢ÔËÐС¢µÈ´ý/×èÈû¡£ÓÃÒ»¸öͼÀ´ÃèÊöÈçÏ£º
1¡¢ÐÂ״̬£ºÏ̶߳ÔÏóÒѾ´´½¨£¬»¹Ã»ÓÐÔÚÆäÉϵ÷ÓÃstart()·½·¨¡£
2¡¢¿ÉÔËÐÐ״̬£ºµ±Ïß³ÌÓÐ× ......