java¸ß¼¶¶àÏ̱߳à³Ì ¹ØÓÚÏ̵߳ÄÍ£Ö¹ÎÊÌâ(ת)
¶àÏß³ÌÊÇjavaµÄÒ»¸öÓÅÊÆ£¬javaʹµÃ³ÌÐòÔ±¿ÉÒԺܷ½±ãµÄ½øÐжàÏ̳߳ÌÐò¿ª·¢¡£»ñµÃ¸üºÃµÄÐÔÄÜ¡£
¹ØÓÚ¶àÏ̵߳ĸÅÄîÒÔ¼°Ò»°ãµÄ¶àÏ̱߳à³Ì£¬±ÈÈçÈçºÎÒÔ¼°ÎªºÎʵÏÖrunnable½Ó¿Ú£¬ÎªºÎstop()»á±»DeprecatedµôµÈµÈ£¬Õâ¸öÇë¿´matrix֮ǰµÄ¶àÏ̱߳à³Ì»ù´¡»òÕßsunµÄjavaÎĵµ¡£
¹ØÓÚ¶àÏ̱߳à³Ì£¬Óм¸µãÕâÀïÒªÌáµ½µÄ£º
1¡£¼ÈÈ»stop()ÊDz»±»ÍƼöµÄ£¬ÄÇôÎÒÃÇÈçºÎÍ£Ö¹Ò»¸öÏß³ÌÄØ£¿Ö±½ÓkillÂð£¿ÔÚÕâÀ±ÊÕß×ܽáÒ»ÖֱȽÏͨÓÃÒ²±È½ÏÎȶ¨µÄ·½·¨£º
class threadtest extend Thread{
//skip some code..
boolean runflag=true;
public synchronized void stopthread()
{
runflag=false;
}
public synchronized boolean getrunflag()
{
return runflag;
}
public void run() {
runflag=true;
try {
while (getrunflag()) {
code1£»
code2£»
//put your code here
}
}
}
catch (IOException e) {
e.printStackTrace();
}
System.out.println(this.getClass().getName()+" stopped");
}
//skip some code..
}
ÕâÑù£¬Ã¿µ±ÐèҪֹͣ¸ÃÏß³Ìʱ£¬Ö»Ðèµ÷ÓÃstopthread()¼´¿É¡£
ÕâÀïÓÐÁ½µãÐèҪעÒ⣺
1£©ÎÒÃÇÓÃÁËÒ»¸öͬ²½·½·¨getrunflag()À´µÃµ½µ±Ç°µÄ״̬£¬ÎªÊ²Ã´ÓÃÕâ¸ö·½·¨¶ø²»ÊÇÖ±½ÓʹÓÃwhile(runflag)ÄØ£¿
Õâ¸öÊÇÒòΪÔÚjavaµÄ¶àÏß³ÌÄ£ÐÍÖУ¬ÓÐÒ»¸ö¹«¹²µÄ¶ÔÏó´æ´¢Çø£¬µ«ÊÇÿ¸ö¶ÔÏó¶¼ÓÐ×Ô¼ºµÄ˽Óб¸·Ý£¬µ±Ò»¸öÏ̸߳ıäÁË״̬£¬jvm²¢²»Äܱ£Ö¤Õâ¸öÏ̸߳ıä¹ýµÄ±äÁ¿¼´Ê±¸üй«¹²¶ÔÏó´æ´¢ÇøµÄ״̬£¬¿ÉÄÜ(¿ÉÄÜÐÔ²»´ó)Ôì³ÉÎÊÌâ¡£
ËùÒÔ½¨ÒéÓкõÄÉè¼ÆÏ°¹ß£¬²ÉÓÃͬ²½·½·¨À´»ñµÃµ±Ç°µÄrunflagÖµ¡£
2£©»¹ÓÐÒ»µã£¬ÌرðÊÇÉæ¼°ÍøÂçµÄ¶àỊ̈߳¬Èç¹û·¢ÉúÁËÍøÂç×èÈû(ÔÚwhileÑ»·ÀïÃæ·¢Éú)£¬ÄÇô£¬¼´Ê¹runflag״̬±ÈÈç¸Ä±ä³Éfalse£¬ÓÉÓÚ³ÌÐò±»×èÈû£¬Ïß³ÌÓÃÕâÖÖ·½·¨ÊÇÓÀÔ¶¶¼²»»á±»Í£Ö¹µÄ¡£
¾Ù¸öÀý×Ó£º±ÈÈçÉÏÃæµÄ³ÌÐò£¬Èç¹ûcode1ÊÇÒ»¶ÎÍøÂç³Ìʽ£¬Èç¹ûÔÚcode1·¢ÉúÁË×èÈû£¬×èÈûµÄÒâÒå¾ÍÊǵò»µ½ÇëÇóµÄ
×ÊÔ´£¬ÔÚÎÞÏÞÆÚµÈ´ý£¬Õâ¸öʱºò£¬runflag״̬µÄ±ä»¯¶ÔwhileÑ»·ÊÇÆð²»ÁË×÷Óõģ¬Ï̲߳»»á±»Í£Ö¹¡£
±ÊÕßÔø¾²ÎÓë¶à¸öÉæ¼°µ½»ñÈ¡ÍøÂç×ÊÔ´µÄjava³Ìʽ£¬¾³£Óöµ½ÒòÎªÍøÂçµÄ×èÈûÒýÆðµÄÏß³ÌÎÊÌâ¡£
Èç¹ûÄãµÄ³Ìʽ¿ÉÄÜÉæ¼°µ½ÍøÂç×èÈû£¬»òÕßÓпÉÄÜ·¢ÉúijÖÖÏûÏ¢½ÓÊܵÄ×èÈû¡£ÄÇô£¬Çë²»ÒªÓÃÕâÖÖ·½·¨À´Í£Ö¹Ï̡߳£¾ßÌå·½·¨Çë¿´±ÊÕßÁíÍâһƬÎÄÕ£º¸ß¼¶¶àÏ̱߳
Ïà¹ØÎĵµ£º
Õâ¸öËã·¨¼òµ¥,¶øÇÒЧÂʸß,ÿ´Î¿ÉÒÔ²Ù×÷8¸ö×Ö½ÚµÄÊý¾Ý,¼ÓÃܽâÃܵÄKEYΪ16×Ö½Ú,¼´°üº¬4¸öintÊý¾ÝµÄintÐÍÊý×é,¼ÓÃÜÂÖÊýӦΪ8µÄ±¶Êý,Ò»°ã±È½Ï³£ÓõÄÂÖÊýΪ64,32,16,ÍÆ¼öÓÃ64ÂÖ.
Ô´´úÂëÈçÏÂ:
/** *//**
* TeaËã·¨
* ÿ´Î²Ù×÷¿ÉÒÔ´¦Àí8¸ö×Ö½ÚÊý¾Ý
* KEYΪ16×Ö½Ú,ӦΪ°üº¬4¸öintÐÍÊýµÄint[]£¬Ò»¸öintΪ4¸ö×Ö½Ú
* ¼ÓÃܽâÃÜÂÖÊ ......
Read-Write Lock PatternµÄ²ÎÓëÕߣº
1. Reader£¨¶ÁÈ¡Õߣ©²ÎÓëÕß
Reader²ÎÓëÕß»á¶ÔSharedResource²ÎÓëÕß½øÐÐread¡£
2. Writer£¨Ð´ÈëÕߣ©²ÎÓëÕß
Writer²ÎÓëÕß»á¶ÔSharedResource²ÎÓëÕß½øÐÐwrite¡£
3. SharedResource£¨¹²Ïí×ÊÔ´£©²ÎÓëÕß
SharedResource²ÎÓëÕß ......
À´×Ô£ºhttp://www.anymobile.org
1¡¢ÕªÒª..........................................................................1
2¡¢¸ÄÉÆ·þÎñÆ÷µÄÐÔÄÜ...........................................................1
3¡¢·ÖÎöÆ÷ÔÀí...................................................................2
4¡¢JProfiler ¼ò½é... ......
ÓÐʱºò£¬ÎÒÃÇ¿ÉÄÜÏëÒª¹¹ÔìÒ»¸öºÜ³éÏóµÄ¸¸Àà¶ÔÏó£¬Ëü¿ÉÄܽö½ö´ú±íÒ»¸ö·ÖÀà»ò³éÏó¸ÅÄËüµÄʵÀýûÓÐÈκÎÒâÒ壬Òò´Ë²»Ï£ÍûËüÄܱ»ÊµÀý»¯¡£ÀýÈ磺ÓÐÒ»¸ö¸¸Àà“ Ë®¹û£¨Fruit£©”£¬ËüÓм¸¸ö×ÓÀà“Æ»¹û£¨Apple£©”¡¢“éÙ×Ó£¨Orange£©”¡¢“Ïã½¶£¨Banana£©”µÈ¡£Ë®¹ûÔÚÕâÀï½ö½öÖ»ÊÇ×÷Ϊһ¸ ......