Java¶àÏ̱߳à³ÌÖеÄSynchronized
Synchronized£¬¹ËÃû˼Ò壬´ú±í¶à¸öÏß³ÌÖ®¼äµÄͬ²½¡£ÄÇô£¬ÔÚjava±à³ÌÖÐÈçºÎʹÓÃËüÄØ£¿ ÎÒÃǼÙÉèÕâÑùÒ»¸öÇé¿ö£º¶ÔÓÚͬһ¸ö±äÁ¿synDemo£¬ÎÒÃÇ·Ö±ðÔÚ2¸ö²»Í¬µÄÏß³ÌÖе÷ÓÃsynDemo.synMethord1()ÓësynDemo.synMethord2()¡£ package com.cnblogs.gpcuster;
/**
*
* @author Aaron.Guo
*
*/
public class Tester {
public static void main(String[] args) {
final SynDemo synDemo = new SynDemo();
Thread thread1 = new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
synDemo.synMethord1();
}
};
Thread thread2 = new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
synDemo.synMethord2();
}
};
thread1.start();
thread2.start();
while (true) {
try {
Thread.sleep(1000);
System.out.println("main");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
ÎÒÃǵÄSynDemoÊÇÕâÑù¶¨ÒåµÄ£º
package com.cnblogs.gpcuster;
/**
*
* @author Aaron.Guo
*
*/
public class SynDemo{
public void synMethord1() {
while(true) {
try {
Thread.sleep(1000);
System.out.println("synMethord1");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void synMethord2() {
while(true) {
try {
Thread.sleep(1000);
System.out.println("synMethord2");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
ÎÒÃǵÄSynDemo¶ÔÏóûÓÐÈκÎÌØÊâµÄ¶¨Ò壬ËùÒÔÔËÐÐÆðÀ´ÒÔºóµÄÇé¿öÈçÏ£º
synMethord2
synMethord1
main
synMethord2
synMethord1
main
synMethord2
synMethord1
½ÓÏÂÀ´£¬ÎÒÃǸøsynMethord1Ìí¼ÓÉÏsynchronizedÉùÃ÷£¬ÔËÐÐÇé¿ö»¹ÊÇÓëÉÏ´ÎÒ»Ñù£¬ÒòΪÎÒÃÇÖ»ÓÐÒ»¸öÏß³ÌÔÚµ÷ÓÃsynMethord1µÄ·½·¨¡£
ÎÒÃǸøsynMethord2Ò²Ìí¼ÓÉÏsynchronizedÉùÃ÷£¬SynDemo¶ÔÏóµÄ´úÂë
Ïà¹ØÎĵµ£º
ÀàµÄ³õʼ»¯ºÍ¶ÔÏó³õʼ»¯ÊÇ JVM ¹ÜÀíµÄÀàÐÍÉúÃüÖÜÆÚÖзdz£ÖØÒªµÄÁ½¸ö»·½Ú£¬Google ÁËÒ»±éÍøÂ磬ÓйØÀà×°ÔØ»úÖÆµÄÎÄÕµ¹ÊDz»ÉÙ£¬È»¶øÀà³õʼ»¯ºÍ¶ÔÏó³õʼ»¯µÄÎÄÕ²¢²»¶à£¬ÌرðÊÇ´Ó×Ö½ÚÂëºÍ JVM ²ã´ÎÀ´·ÖÎöµÄÎÄÕ¸üÊÇÏÊÓÐËù¼û¡£
±¾ÎÄÖ÷Òª¶ÔÀàºÍ¶ÔÏó³õʼ»¯È«¹ý³Ì½øÐзÖÎö£¬Í¨¹ýÒ»¸öʵ¼ÊÎÊÌâÒýÈ룬½«Ô´´úÂëת»»³É JVM ×Ö½ÚÂëºó£¬ ......
ĿǰJAVA2ÓÐÈý¸ö°æ±¾£ºJ2EE£¨ÆóÒµ°æ£©¡¢J2SE£¨±ê×¼°æ£©¡¢J2ME£¨Î¢ÐͰ棩
1¡¢J2SE£¨JAVA2 Standart Edition£©
JAVA2±ê×¼°æ Ö§³ÖËùÓÐJAVA±ê×¼¹æ·¶ÖÐËù¶¨ÒåµÄºËÐÄÀຯÊý¿âºÍËùÓеÄJAVA»ù±¾Àà±ð¡£J2SE¶¨Î»ÔÚ¿Í»§¶Ë³ÌÐòµÄÓ¦ÓÃÉÏ¡£
2¡¢J2EE£¨JAVA2 Enterprise Edition£©
......
import java.util.Scanner;
public class Game{
void welcome(){
println("»¶ÓÀ´µ½¼ôµ¶Ê¯Í·²¼ÓÎÏ·");
}
Choice getUserChoice(){
println("ÇëÑ¡Ôñ\t[1]¼ôµ¶\t[2]ʯͷ\t[3]²¼");
Scanner sc= new Scanner(System.in);
int userCh ......
Javaѧϰ·Ïß
ÏÈѧϰj2se
Ҫѧϰj2ee¾ÍÒªÏÈѧϰj2se£¬¸Õ¿ªÊ¼Ñ§Ï°j2seÏȽ¨Ò鲻ҪʹÓÃIDE£¬È»ºó½¥½¥µÄ¹ý¶Éµ½Ê¹ÓÃIDE¿ª·¢£¬±Ï¾¹ÓÃËü·½±ãÂѧϰj2seÍÆ¼öÁ½±¾Ê飬¡¶java2ºËÐļ¼ÊõÒ»¶þ¾í¡·£¬¡¶java±à³Ì˼Ïë¡·£¬¡¶javaģʽ¡·¡£ÆäÖС¶java±à³Ì˼Ïë¡·ÒªÑжÁ£¬¾«¶Á¡£ÕâÒ»¶Îʱ¼äÊÇ»ù±¾¹¦Ñ§Ï°£¬Ê±¼ä»áºÜ³¤£¬Ò²¿ÉẠ̈ܺܶ¬ÕâÒª¿´Ñ§Ï ......
Õâ²»ÊÇʲô½Ì²Ä£¬±ÊÕßÓÐʱ»áÔÚÂÛ̳ÉÏÇÆÇÆ£¬¿´µ½²»ÉÙ³õѧÕßÎʵ½ºÜ¶àÎÊÌ⣬ÕâЩÎÊÌâÊÇjava³ÌÐòÔ±Ó¦¸Ã¶®µÃµÄ£¬¶øÒ»°ãÊéÉϲ»»á½²µ½»òÕßÒ»±Ê´ø¹ýµÄ֪ʶ¡£Òò´Ë¶·µ¨Í¿Ñ»Ò»ÆªÎÄÕ£¬°ÑÏë˵µÄÔÚÕâÀïÒ»¿ÚÆøËµÍê¡£ÕâÒ²ÊDZ¾È˵ÚÒ»´Îд¼¼ÊõÐÔµÄÎÄÕ£¬Îıʲ»³©Ö®Í⣬»¹Çë¸÷λ¼ûÁ¡£
Ê×ÏȽ²Çå³þÀàºÍ¶ÔÏóµÄÇø±ð¡£
ÀàÊǹ㷺µÄ¸ÅÄ±íʾһ¸ö ......