¶à´°¿ÚÒì²½ÊÛÆ±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. ³éÏóÀàģʽ£º¿ÉÒÔ ......
1
. Õ»(stack)Óë¶Ñ(heap)¶¼ÊÇJavaÓÃÀ´ÔÚRamÖдæ·ÅÊý¾ÝµÄµØ·½¡£ÓëC++²»Í¬£¬Java×Ô¶¯¹ÜÀíÕ»ºÍ¶Ñ£¬³ÌÐòÔ±²»ÄÜÖ±½ÓµØÉèÖÃÕ»»ò¶Ñ¡£
¡¡¡¡2
. Õ»µÄÓÅÊÆÊÇ£¬´æÈ¡ËٶȱȶÑÒª¿ì£¬½ö´ÎÓÚÖ±½ÓλÓÚCPUÖеļĴæÆ÷¡£µ«È±µãÊÇ£¬´æÔÚÕ»ÖеÄÊý¾Ý´óСÓëÉú ......
Õ⼸ÌìÒ»Ö±ÔÚ¸ã¹ØÓÚÓÅÏȼ¶¶ÓÁеÄʵÏÖ,ÒòΪҪ¿¼Âǵ½Ï̵߳ݲȫ,ËùÒÔPriorityQueue¾Í²»ÊÊÓÃÁË¡£Ò»¸ö·Ç³£¼òµ¥µÄʵÏÖ·½
·¨£¬ÄǾÍÊǰÑÓÅÏȼ¶±È½ÏºÃµÄ²åÈëÒ»¸ö¶ÓÁУ¬ÓÅÏȼ¶µÍµÄ²åÈëÁíÒ»¸ö¶ÓÁУ¬È¡ÊýµÄʱºòÏÈÔÚÓÅÏȼ¶¸ßµÄ¶ÓÁÐÉÏÈ¡Êý¡£ÕâÓиöȱµã¾ÍÊÇÈç¹ûÓÅÏȼ¶±ðÔ½¶àµÄ»°£¬¶ÓÁ ......
¼ÇµÃ²¿ÃÅÀÏ´óÔø¾Ëµ¹ý£¬javaµÄÀ¬»ø»ØÊÕ»úÖÆ¶ÔÓÚjavaÌåϵ½á¹¹µÄѧϰ·Ç³£ÖØÒª¡£ÕâÀォÔĶÁµÄһЩÎÄÏ×ÕûÀí×ܽá³öÀ´£¬¼ÇÊöjavaµÄ¼¸ÖÖÀ¬»ø»ØÊÕËã·¨¡£
À¬»ø»ØÊÕËã·¨ÓÐÁ½¸ö»ù±¾µÄÎÊÌ⣺1.±ØÐë¼ì²âµ½À¬»ø¶ÔÏó¡£2.±ØÐëÖØÐÂÉùÃ÷±»À¬»ø¶ÔÏóÕ¼ÓõĶѿռ䲢ÇÒÈöѿռä¿ÉÓá£
¿É´ïÐÔ ......