javaµÄ¶àÏß³Ìͬ²½»¥³â:synchronizedµÄÂÒÓÃ
ÔÚjavaµÄ¶àÏß³Ìͬ²½»¥³â´¦ÀíÖÐ,synchronizedÊDZ𲻿ÉÉٵĶ«Î÷.
µ«ÊÇÈç¹û²»ÇåÎúµÄ±à³ÌµÄ»°,Ò²¾ÍÊÇÂÒÓÃsynchronizedµÄ»°,ËÀËøµÄ·¢Éú¾ÍÊÇÀëÄãºÜ½üµÄ»°ÌâÁË.
ÔÚÇ°ÃæµÄÒ»¸öά»¤Öоͷ¢ÏÖÒ»¸öËÀËøµÄbug.¾¿ÆäÔÒòÊÇ¿ª·¢ÕßûÓÐÕæÕýÃ÷°×¶àÏ̵߳Äͬ²½»¥³â,ûÓÐÒâʶµ½ËÀËøµÄ·¢Éú,»òÕß˵×Ô¼ºÈÏΪдµÄ´úÂë²»»á·¢ÉúËÀËø.
ËÀËøµÄ·¢ÉúÒ»°ã²¢²»ÊǺÜÈÝÒ×ÔÙÏÖµÄ.Ò»µ©·¢ÉúÁ˵÷²é,È·È϶¼»á»¨·ÑºÜ¶àʱ¼ä.ÌØ±ðÊǶԴóÐÍÍøÕ¾À´Ê±ÕâÖÖÏÖÏóµÄ·¢Éúʱ²»¿ÉÔÁµÄ.
»¥³â´¦ÀíÖÐËø·½·¨ºÍËø¿é. ¸Ð¾õÊÇÔÚËø¿éµÄ´¦ÀíÖÐÈÝÒ×ÂÒÓÃsynchronized.
ÔÚÄǸöά»¤µÄÖеĴúÂëÂß¼:
·½·¨AÖеÄÈçϵĴ¦Àí
×¼±¸´¦ÀíµÄ´úÂë1
synchronized (this) {
´¦Àí1
}
×¼±¸´¦ÀíµÄ´úÂë2
synchronized (this) {
´¦Àí2
}
ÆäËû´¦Àí
ÕâÑùÓÃÒ»¸ö·½·¨ÖаÑ×Ô¼ºÕâ¸ö¶ÔÏóËøÁËÁ½´Î.ËÀËøµÄ·¢Éú¾ÍÊÇÓпÉÄܵÄÁË.
ÔÚÉÏÃæµÄÄǸöÎÊÌâ´úÂëÖÐ,Èç¹ûÊÇËø×Ô¼ºµÄ»°,ÔÚÒ»¸ö·½·¨ÖоͲ»ÄܽøÐжà´ÎËø.
ÆäËûµÄ¶àÏ̻߳¹ÓкܶàºÜ¶àÐèÒªµÄ×¢ÒâµÄ,ÉÏÃæÖ»ÊǾÍÊÂÂÛʼòµ¥ËµÁËÒ»ÏÂÅöµ½µÄÎÊÌâ.
Ïà¹ØÎĵµ£º
ÏÈÀ´Á˽âÒ»ÏÂÁ´±íģʽµÄÔÀí£º
Ê×ÏÈдһ¸öJavaBean£¬ÄÚÈÝÊÇÒªÌí¼ÓµÄÔªËØºÍ¸ÃÔªËØµÄ½Úµã¡£
public class NodeBean implements Serializable
{
private Object data; //ÔªËØ±¾Éí
private NodeBean next; //ÏÂÒ»¸ö½Úµã
&n ......
µÚÒ»´ÎдÕâÑùµÄ²©¿Í£¬¸Ð¾õ×Ô¼º×öµÄÓеãÏñ±Ê¼Ç£¬²»¹ý±¾À´¾ÍÊDZʼǣ¬ÎÒ×ö±Ê¼ÇÒ»°ã¶¼Êǰѱ¾À´²»ÖªµÀµÄ£¬¸Ð¾õÓÐÓõÄдÏÂÀ´£¬¶øÇÒÎÒÒ²Ò»°ãÓÃÓëÀÏʦ½Ó½üµÄÓï¾äдÏÂÀ´£¬±ÜÃâ×Ô¼ºµÄÎó½âµ¼Ö´íÎó¡£
Õâ´ÎÎÒ¿´ÁË¡¶´«ÖDz¥¿Í_ÕÅТÏé_Java»ù´¡1_Java¿ª·¢Ç°×à¡·Õâ¸ö¿Î³Ì¡£
1.ÀÏʦ˵JAVAµÄµÚÒ»¸öÌØµãÊǔһ´Î±àÒ룬µ½´¦ÔËÐГ£¬ ......
À´±±¾©ÒѾÊǽü20ÌìÁË£¬Æð³õ¸Õµ½¶ÔÎҵĴò»÷ȷʵ²»Ð¡£¬ºÜÏë»Ø¼Ò µÄ¸Ð¾õ£¬µ«ÊÇÀ´µ½ÁË´«ÖÇ£¬À´µ½ÁËÕâÀÐÄÀï¸Ð¾õºÃ¶àÁË£¬ÈËÉúµØ²»Ê죬È˵ÄÐÄÀïÒ»°ã¶¼ÊǺܹ¶ÀµÄ£¬ÏëÔÚÐÄÀïÕÒ¸öÒÀ¿¿£¬ÕÒ¸öÅóÓÑÄÜÒ»Æð³öÈ¥Íæ£¬ÁÄÌ죬ѧϰ¡£À´µ½Á˱±¾©£¬ÊÇÒ»¸öȫеÄÉú»î·½Ê½£¬Ê²Ã´¶¼Òª¿¿×Ô¼ºÁË£¬³öÃÅÕæµÄºÜÄÑ£¬ÓÈ ......
ÒÔǰ¿´¹ýÕâ±¾Ê飬×î½ü¾õµÃ×÷ÕßÓÐЩ¹Ûµã»¹ÊÇͦ¶ÔÁË£¬¼ÓÉÏЩ×Ô¼ºµÄ×ܽᣬÕûÀíÏ£¬Ï£ÍûÄܶÔÒÔºó¹¤×÷ѧϰÓÐÖ¸µ¼×÷Óá£
³ÌÐòÔ±µÄÈýÖÖ¾³½ç£º
¿ÉÄÜÍõ¹úά´ó¸ç¿´¿´ºóÈ˰ÑËûµÄÈËÉúÈý¾³½ç·¢Õ¹µÃÈçºÎ¿çѧ¿Æ£¬¶àÃÅÀ࣬һ¶¨ÈªÏÂÓÐÖª£¬±¶¸ÐÐÀο°¡£¬¹þ¹þ£¡
1¡¢³ÌÐòÔ±µÚÒ»²ã¾³½ç£ºÕâ°ï¸çÃÇÒ»°ã¶¼ÊDZÏÒµÈýÄêÒÔÄڵģ¬±È½ÏÓо«Á¦£¬¶ ......
// ÕûÊýµ½×Ö½ÚÊý×éת»»
public static byte[] int2bytes(int n) {
byte[] ab = new byte[4];
ab[0] = (byte) (0xff & n);
ab[1] = (byte) ((0xff00 & n) >> 8);
ab[2] = (byte) ((0xff0000 & n) >> 16);
ab[3] = (byte) ((0xff000000 & n) >> 24);
return ab ......