java thread synchronized Àí½â
Java Thread ÓÃÆðÀ´²¢²»ÄÑ£¬µ«ÍùÍù»¹ÊÇÈÝÒ׳ö´í¡£
ÎÒÃÇÖªµÀ synchronized ¹Ø¼ü×ÖÖ÷ÒªÊÇ·ÀÖ¹¶àÏ̷߳ÃÎʹ²Ïí×ÊÔ´¡£
ÏÂÃæÊǸö¼òµ¥µÄ²âÊÔ£¬¹ØÓÚsynchronized ʹÓá£
/**
* @author gaofeng
* @date 2009-12-18
*/
public class SynDemo {
public SynDemo() {
}
public static void main(String[] args) {
final Message message = new Message();
Thread t1 = new Thread() {
@Override
public void run() {
message.printA();
}
};
Thread t2 = new Thread() {
@Override
public void run() {
message.printA();
}
};
t1.start();
t2.start();
}
}
class Message {
private int value = 1;
public void printA() {
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out
.println("" + Thread.currentThread() + " valueA:" + value);
}
}
}
2¸öÏ̷߳ÃÎÊprintA·½·¨£¬Õâ¸ö´òÓ¡½á¹ûÊÇ£º
Thread[Thread-0,5,main] valueA:1
Thread[Thread-1,5,main] valueA:1
Thread[Thread-0,5,main] valueA:1
Thread[Thread-1,5,main] valueA:1
Thread[Thread-1,5,main] valueA:1
Thread[Thread-0,5,main] valueA:1
ÔÚprintA·½·¨ÉÏÔö¼Ó synchronized ´òÓ¡½á¹û;
Thread[Thread-0,5,main] valueA:1
Thread[Thread-0,5,main] valueA:1
Thread[Thread-0,5,main] valueA:1
Thread[Thread-0,5,main] valueA:1
Thread[Thread-0,5,main] valueA:1
ͬʱֻÄÜÊÇÒ»¸öÏ̷߳ÃÎÊprintA·½·¨.
ÏÂÃæÔÚMessageÀàÖÐÌí¼ÓÒ»¸ö printB·½·¨,²¢ÇÒ¼ÓÉÏsynchronized ¹Ø¼ü×Ö.
public synchronized void printB() {
while (true) {
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("" + Thread.currentThread() + " valueB:" + value);
}
}
2¸öÏ̷ֱ߳ð·ÃÎÊ printA ºÍ printB ·½·¨.
 
Ïà¹ØÎĵµ£º
Ò»£º×¼±¸ www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
¶þ£º±àÒëÔ´ÎļþµÃµ½jar°ü ʹÓÃAnt
1. build vserv-tcpip-0.9.2-src
ÔÚvserv-tcpip-0.9.2Ŀ¼ÏÂÃæ½¨Ò»¸ötestsĿ¼£¬È»ºóÔÚcmd´°¿ÚϽøÈë ......
delphi + java µÄ·Ö²¼Ê½Ó¦ÓÃ˼¿¼
ÓÃdelphi×ö½çÃæ²ã javaÒµÎñÂß¼²ã ÕâÑù¿´ÉÏÈ¥ºÜÃÀ°É£¿
¾ßÌåµÄʵÏÖ
java ×öÒµÎñÂß¼²ã Ó¦¸ÃÓжàÖÖÑ¡Ôñ ÆóÒµ¼¶µÄÓÐEJB3, ÇáÁ¿¼¶µÄÓÐspring
ĿǰÔÚѧϰejb3£¬¸Ð¾õÓÃÀ´×öÒµÎñÂß¼²ãÕæµÄºÜ²»´í¡£spring»¹Ã»ÓÐÁ˽â
½çÃæ²ãÓÃdelphi£¬RADÓ¦¸ÃÊÇdelphiµÄÓÅÊÆ¡£
¹Ø¼üµÄÎÊÌâµÄÈç¹û°Ñ ......
JavaÖУ¬Jniµ÷ÓÃDLLÎļþÊÔÑé
ËùÓÐÎļþ¾ùÔÚE:\·¾¶Ï¡£
°²×°jdk1.6.0_07
°²×°ÁËVC++6.0
µÚÒ»²½£¬
HelloWorld.java
µÚ¶þ²½£¬
E:\>javac HelloWorld.java
µÃµ½
HelloWorld.class
µÚÈý²½£¬
E:\>javah HelloWorld
µÃµ½
HelloWorld.h
µÚËIJ½£¬
±àдһ¸öCÎļþ
HelloWorldImp.c
µÚÎå²½£¬
ʹÓÃcl±àÒ ......
ÖÕÓÚÈ¡µÃÁËÒ»µãСµÄ½øÕ¹£¬¿ØÖÆÓÐЧÁË£¬ÖÁÉÙÊÇÎÒµãÔËÐУ¬ÌõÂë»ú³öÎÄ×ÖÀ²£¡Ê×Ïȷdz£¸Ðл²Î¿¼Á½ÆªÎÄÕµÄ×÷Õߣ¬²»µ¥ÊÇ·ÖÏíÁ˾Ñ飬¸üÖØÒªµÄÊǸøÎÒÆôµÏ£¬
ÈÃÎÒÓÐÁËÐÅÐľõµÃÕâ¼þÊ¿ÉÒÔÕâô×ö¡£È»ºóÎÒҪ˵µÄÊÇJNative.jarºÜºÃÓã¬Ê¡È¥ÁË´«Í³JNIÄÇô¶à·ÇJava³ÌÐòÔ±µÄ¹¤×÷£¨µ«ÊÇÈç¹ûÕû¸ö¹¤×÷Íê³É
ºó£¬ÎÒ»¹ÊÇÏë¿´×ÅjnativeµÄÔ´Âë£¬Ó ......
125
Ìõ³£¼ûµÄ
java
ÃæÊÔ±ÊÊÔÌâ´ó»ã×Ü
1.
³éÏó£º
¡¡¡¡³éÏó¾ÍÊǺöÂÔÒ»¸öÖ÷ÌâÖÐÓ뵱ǰĿ±êÎ޹صÄÄÇЩ·½Ã棬ÒÔ±ã¸ü³ä·ÖµØ×¢ÒâÓ뵱ǰĿ±êÓйصķ½Ãæ¡£³éÏó²¢²»´òËãÁ˽âÈ«²¿ÎÊÌ⣬¶øÖ»ÊÇÑ¡ÔñÆäÖеÄÒ»²¿·Ö£¬ÔÝʱ²»Óò¿·Öϸ½Ú¡£³éÏó°üÀ¨Á½¸ö·½Ã棬һÊǹý³Ì³éÏ󣬶þÊÇÊý¾Ý³éÏó¡£
2.
¼Ì³Ð£º
¡¡¡¡¼Ì³ÐÊÇÒ»ÖÖÁª½áÀàµÄ²ã´ÎģР......