Java Ï̱߳à³ÌÖеÄͬ²½¡¢Öظ´¡¢¶¨Ê±
£¨Ò»£©Ïß³Ìͬ²½
ʵÏÖÉú²úÕßÏû·ÑÕßÎÊÌâÀ´ËµÃ÷Ïß³ÌÎÊÌâ,¾ÙÀýÈçÏÂËùʾ:
/**
* Éú²úÕßÏû·ÑÕßÎÊÌâ
*/
public class ProducerConsumer {
/**
* Ö÷·½·¨
*/
public static void main(String[] args) {
ProductBox pb = new ProductBox();
Producer p = new Producer(pb);
Consumer c = new Consumer(pb);
//¸ù¾ÝÏû·ÑÕß¡¢Éú²úÕßÉú³ÉÏß³Ì
Thread pThread = new Thread(p);
Thread cThread = new Thread(c);
pThread.setPriority(Thread.MAX_PRIORITY);
pThread.start();
cThread.start();
}
}
/**
* ²úÆ·¶ÔÏó
* @author johsnton678
*/
class Product {
int id;
public Product(int id) {
super();
this.id = id;
}
public String toString(){
return "Product:" + id;
}
}
/**
* ²úÆ·ºÐ¶ÔÏó
* @author johnston678
*/
class ProductBox {
Product[] productbox = new Product[6];
int index = 0;
public ProductBox() {
super();
}
//´æÈë·½·¨£¬½«²úÆ·´æÈë²úÆ·ºÐ
public synchronized void push(Product p) {
//ÅжϲúÆ·ÊÇ·ñ³¬³ö²úÆ·ºÐµÄ×î´óÈÝÁ¿£¬Èç¹û³¬³öÖÐÔòµÈ´ý
while (index == productbox.length) {
try {
this.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
this.notify();
productbox[index] = p;
index ++;
}
//È¡³ö²Ù×÷
public synchronized Product pop() {
//Èç¹û²ú
Ïà¹ØÎĵµ£º
ListµÄÓ÷¨
List°üÀ¨List½Ó¿ÚÒÔ¼°List½Ó¿ÚµÄËùÓÐʵÏÖÀà¡£ÒòΪList½Ó¿ÚʵÏÖÁËCollection½Ó¿Ú£¬ËùÒÔList½Ó¿ÚÓµÓÐCollection½Ó¿ÚÌṩµÄËùÓг£Ó÷½·¨£¬ÓÖÒòΪListÊÇÁбíÀàÐÍ£¬ËùÒÔList½Ó¿Ú»¹ÌṩÁËһЩÊʺÏÓÚ×ÔÉíµÄ³£Ó÷½·¨£¬Èç±í1Ëùʾ¡£
±í1 List½Ó¿Ú¶¨ÒåµÄ³£Ó÷½·¨¼°¹¦ÄÜ
´Ó±í1¿ÉÒÔ¿´³ö£¬List½Ó¿ÚÌṩµÄÊʺÏÓÚ×ÔÉíµÄ ......
ʹÓÃÀ༯²»½ö¿ÉÒÔ±íʾ³öÒ»¶ÔÒ»µÄ¹ØÏµ£¬Ò²¿ÉÒÔ±íʾ³ö¶à¶Ô¶àµÄ¹ØÏµ¡£ÀýÈ磬һ¸öѧÉú¿ÉÒÔÑ¡¶àÃſγ̣¬Ò»Ãſγ̿ÉÒÔÓжà¸öѧÉú²Î¼Ó£¬ÄÇôÕâ¾ÍÊÇÒ»¸öµäÐ͵Ķà¶Ô¶à¹ØÏµ¡£
ÒªÍê³É±¾³ÌÐò£¬Ê×ÏÈÓ¦¸Ã¶¨ÒåÁ½¸öÀࣺѧÉúÐÅÏ¢ÀàStudent¡¢¿Î³ÌÐÅÏ¢ÀàCourse¡£ÔÚÒ»¸öѧÉúÀàÖдæÔÚÒ»¸ö¼¯ºÏ£¬±£´æÈ«²¿µÄ¿Î³Ì£»¶øÔڿγÌÀàÖ ......
´«ÖDz¥¿ÍJAVAÅàѵOAÏîÄ¿ ÉóÅúÁ÷תģ¿é¶þ
ËäÈ»ÕâÁ½ÌìѧϰµÄ֪ʶµãÊÇspring£¬µ«ÊÇÎҵĹ۵ã¾ÍÊÇѧһ¸ö֪ʶµã¾ÍҪѧͨ°É£¬ÒòΪÈç¹ûÇ°ÃæµÄ֪ʶ¶¼Ã»ÓÐѧ»á£¬ÓÖ¼±×ÅȥѧϰÐµĶ«Î÷£¬Ö»»áÇ·ÏÂÔ½À´Ô½¶àµÄ¶«Î÷£¡ÕâÒ²ÊÇÎÒѧϰµÄÖ÷ÕÅ¡£ËµÊµÔڵģ¬ÉÏÒ»¸öÏîÄ¿OAÏîÄ¿µÄ¶¼Ã»ÓÐÀí½âµÃ͸³¹£¬¾Í¼±×Åȥѧ£¬Ö»»áÔ½À´Ô½´óµÄѹÁ¦£¬Ô½À´Ô½Ã» ......
ÔٴδÓÍøÉϲéѯ£¬Ëѵ½ÁËRXTXcomm.jar°ü±È½ÏºÃ£¬ÊÇ·â×°ÁËcomm.jarµÄ·½·¨¡£
°²×°£º
1.copy rxtxSerial.dll to [JDK-directory]\jre\bin\rxtxSerial.dll
2.copy RXTXcomm.jar to [JDK-directory]\jre\lib\ext\RXTXcomm.jar
&nbs ......
Ϊʲô˵ÂÒÂëÊÇÖйú³ÌÐòÔ±ÎÞ·¨±ÜÃâµÄ»°ÌâÄØ£¿Õâ¸öÊ×ÏÈÒª´Ó±àÂë»úÖÆÉÏ˵Æð£¬´ó¼Ò¶¼ÊÇÖÐÎĺÍÓ¢ÎĵıàÂë¸ñʽ²»ÊÇÒ»Ñù£¬½âÂëÒ²ÊDz»Ò»ÑùµÄ£¡Èç¹ûÖйúµÄ³ÌÐòÔ±²»»áÓöµ½ÂÒÂ룬ÄÇôֻÓÐʹÓúºÓï±à³Ì¡£ººÓï±à³ÌÊÇÔõô»ØÊÂÎÒÒ²²»´óÇå³þ£¬Ó¦¸ÃÊÇǰÄê°É£¬ÎÒÒ»ÅóÓѸøÎÒ½éÉܺºÓï±à³Ì£¬Ôõô²»´í²»´í£¿µ±Ê±ÒòΪѧϰæûȥ¹Ø×¢Õâ¸ö£¬µÈÎÒÏÐ ......