¶à´°¿ÚÒì²½ÊÛÆ±java¾À´í
ÕâÊÇ·þÎñ´°¿ÚÀ࣬ģÄâËĸöÏß³ÌÒì²½ÔËÐÐ
public class TicketWindow {
public static void main(String args[]) {
Ticket ticket = new Ticket();
Thread w1 = new Thread(ticket, "1ºÅÊÛÆ±´°¿Ú");
Thread w2 = new Thread(ticket, "2ºÅÊÛÆ±´°¿Ú");
Thread w3 = new Thread(ticket, "3ºÅÊÛÆ±´°¿Ú");
Thread w4 = new Thread(ticket, "4ºÅÊÛÆ±´°¿Ú");
w1.setPriority(Thread.NORM_PRIORITY);
w2.setPriority(Thread.NORM_PRIORITY);
w3.setPriority(Thread.NORM_PRIORITY);
w4.setPriority(Thread.NORM_PRIORITY);
w1.start();
w2.start();
w3.start();
w4.start();
}
}
ÒÔÏÂÊÇticketÀ࣬¿ØÖÆ´°¿Ú³öƱµÄÂß¼
public class Ticket implements Runnable {
private int ticketNumber = 1;
public void sellTicket() {
while (ticketNumber++ < 100) {
synchronized (this) {
System.out.println(Thread.currentThread().getName() + "ÕýÔÚÊÛ³öµÚ"
+ ticketNumber + "ÕÅÆ±");
}
}
}
public void run() {
sellTicket();
}
}
ÔËÐÐÀàTicketWindow£¬
²¿·Ö½á¹ûÈçÏ£º
1ºÅÊÛÆ±´°¿ÚÕýÔÚÊÛ³öµÚ2ÕÅÆ±
2ºÅÊÛÆ±´°¿ÚÕýÔÚÊÛ³öµÚ5ÕÅÆ±
4ºÅÊÛÆ±´°¿ÚÕýÔÚÊÛ³öµÚ6ÕÅÆ±
3ºÅÊÛÆ±´°¿ÚÕýÔÚÊÛ³öµÚ7ÕÅÆ±
3ºÅÊÛÆ±´°¿ÚÕýÔÚÊÛ³öµÚ8ÕÅÆ±
3ºÅÊÛÆ±´°¿ÚÕýÔÚÊÛ³öµÚ9ÕÅÆ±
2ºÅÊÛÆ±´°¿ÚÕýÔÚÊÛ³öµÚ11ÕÅÆ±
4ºÅÊÛÆ±´°¿ÚÕýÔÚÊÛ³öµÚ11ÕÅÆ±
¡£¡£¡£
2ºÅÊÛÆ±´°¿ÚÕýÔÚÊÛ³öµÚ101ÕÅÆ±
1ºÅÊÛÆ±´°¿ÚÕýÔÚÊÛ³öµÚ102ÕÅÆ±
4ºÅÊÛÆ±´°¿ÚÕýÔÚÊÛ³öµÚ103ÕÅÆ±
°´ÔËÐÐÇé¿öÀ´¿´£¬´æÔÚÈý¸öÎÊÌ⣺
1.³öƱ²»Á¬Ðø----ƱºÅÓмä¶Ï
2.ƱºÅÖØ¸´--²»Í¬´°¿ÚÊÛ³öÖØÍ¬Ò»Æ±ºÅ
3.¶àÂôƱ--Âô³öƱÊý³¬¹ý100
ÒÔÏÂÊÇÕýÈ·µÄ´úÂ룺
public class Ticket implements Runnable {
private int ticketNumber = 1;
public void sellTicket() {
while (ticketNumber < 100) {//ƱºÅµÝÔö²Ù×÷Ó¦ÊôÓÚÁÙ½çÇø£¬Ðë·ÅÔÚsynchronizedÓï¾ä¿éÄÚ /
synchronized (this) {
if (ticketN
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
»ù±¾Ä£Ê½£º
1. ½Ó¿Úģʽ£ºµ±¶à¸öÀàÌṩ½üËÆµÄ·þÎñµÄʱºò£¬Í¨¹ý½Ó¿Úģʽ£¬²»Í¬µÄ·þÎñÌṩÕßÀàËùÌṩµÄ¹²Í¬µÄ·þÎñ¾Í¿ÉÒÔ±»³éÏó³öÀ´£¬²¢±»ÉùÃ÷Ϊһ¸ö¶ÀÁ¢µÄ½Ó¿Ú¡£ÕâÑù¿Í»§¶ÔÏó¾ÍÄÜÒÔÒ»ÖÖÎÞ·ìµÄ·½Ê½À´Ê¹Óò»Í¬µÄ·þÎñÌṩÀ࣬¶øÎÞÐè½øÐÐÈκθ͝¡£
2. ³éÏóÀàģʽ£º¿ÉÒÔ ......
¡¡ ¡¡¡¡
¡¡¡¡Èí¼þ¿ª·¢Ö®Â·ÊdzäÂú¾£¼¬ÓëÌôս֮·,Ò²ÊdzäÂúÏ£Íû֮·¡£JAVAѧϰҲÊÇÈç´Ë£¬Ã»Óнݾ¶¿É×ß¡£ÃÎÏëÏñ¡¶ÌìÁú°Ë²¿¡·ÖÐÐéÖñÒ»Ñù±»ÎÞÑÂ×Óõ®õ¹à¶¥¶øÇáËÉ»ñµÃÒ»¼××Ó¹¦Á¦£¬ÊǺܲ»ÏÖʵµÄ¡£Ã¿ÌìÑöÌì´ó½Ð"ÌìÉñ°¡£¬Çë´Í¸øÎÒÒ»±¾¿û»¨±¦µä°É"£¬Êâ²»Öª¼´Ê¹Äã»ñµÃÁË¿û»¨±¦µä£¬³ýÁËÊÜ×Ô¹¬ÆäÉíÖ®¿àÍ⣬ÄãÒ²²»Ò»¶¨³ÉµÃÁË"¶«·½² ......
ÔÚJSPÀ»ñÈ¡¿Í»§¶ËµÄIPµØÖ·µÄ·½·¨ÊÇ£ºrequest.getRemoteAddr()£¬ÕâÖÖ·½·¨Ôڴ󲿷ÖÇé¿ö϶¼ÊÇÓÐЧµÄ¡£µ«ÊÇÔÚͨ¹ýÁËApache,SquidµÈ·´Ïò´úÀíÈí¼þ¾Í²»ÄÜ»ñÈ¡µ½¿Í»§¶ËµÄÕæÊµIPµØÖ·ÁË¡£
Èç¹ûʹÓÃÁË·´Ïò´úÀíÈí¼þ£¬½«http://192.168.1.110:2046/ µÄURL·´Ïò´úÀíΪhttp://www.xxx.com/ µÄURLʱ£¬ÓÃrequest.getRemoteAddr()·½ ......
Õ⼸ÌìÒ»Ö±ÔÚ¸ã¹ØÓÚÓÅÏȼ¶¶ÓÁеÄʵÏÖ,ÒòΪҪ¿¼Âǵ½Ï̵߳ݲȫ,ËùÒÔPriorityQueue¾Í²»ÊÊÓÃÁË¡£Ò»¸ö·Ç³£¼òµ¥µÄʵÏÖ·½
·¨£¬ÄǾÍÊǰÑÓÅÏȼ¶±È½ÏºÃµÄ²åÈëÒ»¸ö¶ÓÁУ¬ÓÅÏȼ¶µÍµÄ²åÈëÁíÒ»¸ö¶ÓÁУ¬È¡ÊýµÄʱºòÏÈÔÚÓÅÏȼ¶¸ßµÄ¶ÓÁÐÉÏÈ¡Êý¡£ÕâÓиöȱµã¾ÍÊÇÈç¹ûÓÅÏȼ¶±ðÔ½¶àµÄ»°£¬¶ÓÁ ......