dz̸Java¶àÏ̵߳Äͬ²½ÎÊÌâ
¶àÏ̵߳Äͬ²½ÒÀ¿¿µÄÊǶÔÏóËø»úÖÆ£¬synchronized¹Ø¼ü×ֵı³ºó¾ÍÊÇÀûÓÃÁË·âËøÀ´ÊµÏÖ¶Ô¹²Ïí×ÊÔ´µÄ»¥³â·ÃÎÊ¡£
ÏÂÃæÒÔÒ»¸ö¼òµ¥µÄʵÀýÀ´½øÐжԱȷÖÎö¡£ÊµÀýÒªÍê³ÉµÄ¹¤×÷·Ç³£¼òµ¥£¬¾ÍÊÇ´´½¨10¸öỊ̈߳¬Ã¿¸öÏ̶߳¼´òÓ¡´Ó0µ½99Õâ100¸öÊý×Ö£¬ÎÒÃÇÏ£ÍûÏß³ÌÖ®¼ä²»»á³öÏÖ½»²æÂÒÐò´òÓ¡£¬¶øÊÇ˳ÐòµØ´òÓ¡¡£
ÏÈÀ´¿´µÚÒ»¶Î´úÂ룬ÕâÀïÎÒÃÇÔÚrun()·½·¨ÖмÓÈëÁËsynchronized¹Ø¼ü×Ö£¬Ï£ÍûÄܶÔrun·½·¨½øÐл¥³â·ÃÎÊ£¬µ«½á¹û²¢²»ÈçÎÒÃÇÏ£ÍûÄÇÑù£¬ÕâÊÇÒòΪÕâÀïsynchronizedËø×¡µÄÊÇthis¶ÔÏ󣬼´µ±Ç°ÔËÐÐÏ̶߳ÔÏó±¾Éí¡£´úÂëÖд´½¨ÁË10¸öỊ̈߳¬¶øÃ¿¸öÏ̶߳¼³ÖÓÐthis¶ÔÏóµÄ¶ÔÏóËø£¬Õâ²»ÄÜʵÏÖÏ̵߳Äͬ²½¡£´úÂëpackage com.vista;
class MyThread implements java.lang.Runnable
{
private int threadId;
public MyThread(int id)
{
this.threadId = id;
}
@Override
public synchronized void run()
{
for (int i = 0; i < 100; ++i)
{
System.out.println("Thread ID: " + this.threadId + " : " + i);
}
}
}
public class ThreadDemo
{
/**
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException
{
for (int i = 0; i < 10; ++i)
&nbs
Ïà¹ØÎĵµ£º
1. ÓÃScriptEngineManagerÀà¡£ÕâÊÇ»ùÓÚJSR-223¹æ·¶µÄjava½Å±¾API( scripting API)¡£¿ÉÒÔÔÚjava³ÌÐòÖÐÔËÐÐһЩ½Å±¾£¬Èç JavaFX script, javascriptµÈ¡£
¡¡¡¡2. ͨ¹ýJavaFX reflection API¡£ÕâÊÇJavaFXÌṩµÄ·´ÉäAPI£¬¼¸ºõ¿ÉÒÔµ÷ÓÃËùÓеÄJavaFXÀà¡£
¡¡¡¡3. ÏÈÓÃJavaFXÀàʵÏÖÒ»¸öJavaµÄinterface£¬È»ºóJava³ÌÐò¿ÉÒÔͨ¹ýÕ⸠......
½ñÌìÔÚÑо¿ÏîÄ¿ÖеÄÉè¼ÆË¼ÏëµÄʱºò£¬µÃ³öÒ»¸ö¶Ô½Ó¿ÚºÍ³éÏóÀà·Ç³£ÐÎÏóµÄÒ»¸ö±ÈÓ÷¡£
ËûÃǶ¼ÔÚ“½¨Öþ”ÖеÃÒÔÓ¦Ó㬽ӿھÍÏñ´óÂ¥µÄͼֽ£¬³éÏóÀà¾ÍÊÇ´óÂ¥µÄ¼Ü¹¹£¬Â¥²ã¾ÍÊÇÕæÕýµÄÀà¡£
ͼֻֽÊǹ滮³ö´óÂ¥µÄÑù×Ó£¬¹æ¶¨ÁËÒª×ö³ÉÉè¼ÆÑùʽ²ÅÄÜÕæÕý´òµ½Öî¶àЧ¹û£¬µ«ÊDz¢²»¹æ¶¨ÒªÈçºÎ¸Ç£¬¶ÔÂ¥²ãµÄÉè¼ÆÒ²²»¿¼ÂÇ£¬ÓÐÁËͼֽ£¬ ......
Ò»¡¢ÓÐÁ½µãÐèҪעÒ⣺
1¡¢Object ¶ÔÏó±ØÐëÊÇ¿ÉÐòÁл¯¶ÔÏó ¡£
2¡¢¿ÉÐòÁл¯µÄ Object
¶ÔÏ󶼿ÉÒÔת»»ÎªÒ»¸ö´ÅÅÌÎļþ£»·´¹ýÀ´Ôò²»Ò»¶¨³ÉÁ¢£¬Ö»ÓÐÐòÁÐ
»¯Îļþ²Å¿ÉÒÔת»»Îª Object ¶ÔÏó¡£
¶þ¡¢Ïà¹ØµÄת»»·½·¨£º
&nbs ......
²»ÄÜºÃ¸ßæðÔ¶£¬´ÓдС³ÌÐò¿ªÊ¼¡£
Ò»¸öû¸ôN·ÖÖÓ¾ÍÌáÐÑÐÝϢһϵÄС³ÌÐò£¬àÅ£¬»¹Ö»ÊÇÒ»¸öͦ¼òªµÄ¶«Î÷£¬¶øÇÒ»¹·¢ÏÖÒ»µãÏÖÔÚÎÒÎÞ·¨½â¾öµÄbug¡£
/**
* ÐÝÏ¢ÌáÐÑС³ÌÐò
* ´æÔÚÎÊÌâÊÇ£ºµ¥»÷ʱ£¨²»·Ö×ó»÷ÓÒ»÷£©£¬Í¬Ê±»áÔÚÈÎÎñÀ¸³öÏÖ³ÌÐò£¨ÒòΪÕâ¸öÍÐÅ̹¦ÄÜÊDzο¼ÍøÉÏÀý³Ì
* дµÄ£¬²»ÖªµÀ¸ÃÈçºÎ±ÜÃâÕâ¸öÎÊÌ⣩£»
* Èç ......