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() {
//Èç¹û²ú
Ïà¹ØÎĵµ£º
»á¡£ ËùνÄÚ´æÐ¹Â¶¾ÍÊÇÖ¸Ò»¸ö²»ÔÙ±»³ÌÐòʹÓõĶÔÏó»ò±äÁ¿Ò»Ö±±»Õ¼¾ÝÔÚÄÚ´æÖС£
javaµ¼ÖÂÄÚ´æÐ¹Â¶µÄÔÒòºÜÃ÷È·£º³¤ÉúÃüÖÜÆÚµÄ¶ÔÏó³ÖÓжÌÉúÃüÖÜÆÚ¶ÔÏóµÄÒýÓþͺܿÉÄÜ·¢ÉúÄÚ´æÐ¹Â¶£¬¾¡¹Ü¶ÌÉúÃüÖÜÆÚ¶ÔÏóÒѾ²»ÔÙÐèÒª£¬µ«ÊÇÒòΪ³¤ÉúÃüÖÜÆÚ¶ÔÏó³ÖÓÐËüµÄÒýÓöøµ¼Ö²»Äܱ»»ØÊÕ£¬Õâ¾ÍÊÇjavaÖÐÄÚ´æÐ¹Â¶µÄ·¢Éú³¡¾°¡£
&n ......
ÎÄÕ³ö´¦£º http://java.chinaitlab.com/base/807715.html
Java¶ÔÏóÐòÁл¯ÊÇJDK1.1ÖÐÒýÈëµÄÒ»×鿪´´ÐÔÌØÐÔÖ®Ò»£¬Ö®Ç°51CTOÒ²Ôø½éÉܹýJavaÐòÁл¯µÄ»úÖÆºÍÔÀí£¬ÕâÀïÎÒÃǽ«Ê¹ÓÃPersonÀ´·¢ÏÖÄú¿ÉÄܲ»ÖªµÀµÄ¹ØÓÚJava¶ÔÏóÐòÁл¯µÄ5¼þÊ¡£
¡¡¡¡Êµ¼ÊÉÏ£¬ÐòÁл¯µÄ˼ÏëÊÇ“¶³½á”¶ÔÏó״̬£¬´«Êä¶ÔÏó״̬£¨Ð´µ½´ÅÅÌ¡¢Í¨¹ý ......
ʹÓÃÀ༯²»½ö¿ÉÒÔ±íʾ³öÒ»¶ÔÒ»µÄ¹ØÏµ£¬Ò²¿ÉÒÔ±íʾ³ö¶à¶Ô¶àµÄ¹ØÏµ¡£ÀýÈ磬һ¸öѧÉú¿ÉÒÔÑ¡¶àÃſγ̣¬Ò»Ãſγ̿ÉÒÔÓжà¸öѧÉú²Î¼Ó£¬ÄÇôÕâ¾ÍÊÇÒ»¸öµäÐ͵Ķà¶Ô¶à¹ØÏµ¡£
ÒªÍê³É±¾³ÌÐò£¬Ê×ÏÈÓ¦¸Ã¶¨ÒåÁ½¸öÀࣺѧÉúÐÅÏ¢ÀàStudent¡¢¿Î³ÌÐÅÏ¢ÀàCourse¡£ÔÚÒ»¸öѧÉúÀàÖдæÔÚÒ»¸ö¼¯ºÏ£¬±£´æÈ«²¿µÄ¿Î³Ì£»¶øÔڿγÌÀàÖ ......
ÉùÃ÷×Ö¶ÎÓ³Éä
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface FiledRef
{
String fieldName();
}
ÉùÃ÷±íÓ³Éä
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface TableRef
{
& ......
µ±Á½¸ö½ø³ÌÔÚ½øÐÐÔ¶³ÌͨÐÅʱ£¬±Ë´Ë¿ÉÒÔ·¢Ë͸÷ÖÖÀàÐ͵ÄÊý¾Ý¡£ÎÞÂÛÊǺÎÖÖÀàÐ͵ÄÊý¾Ý£¬¶¼»áÒÔ¶þ½øÖÆÐòÁеÄÐÎʽÔÚÍøÂçÉÏ´«ËÍ¡£·¢ËÍ·½ÐèÒª°ÑÕâ¸öJava¶ÔÏóת»»Îª×Ö½ÚÐòÁУ¬²ÅÄÜÔÚÍøÂçÉÏ´«ËÍ£»½ÓÊÕ·½ÔòÐèÒª°Ñ×Ö½ÚÐòÁÐÔÙ»Ö¸´ÎªJava¶ÔÏó¡£
¡¡¡¡°ÑJava¶ÔÏóת»»Îª×Ö½ÚÐòÁеĹý³Ì³ÆÎª¶ÔÏóµÄÐòÁл¯¡£
¡¡¡¡°Ñ×Ö½ÚÐòÁлָ´ÎªJava¶ÔÏóµÄ¹ ......