background image

Java 并发编程基础知识

Java 5 并发包的加入,给 Java 的并发程序的开发带来了很多的好处,在此列举一些并
发编程中应该掌握的一些基础知识片断,这些片断基本都是由一些问题组成,在片段中
没有直接写出答案,由于可用来解决这些片段的方法还是很多的,因此只是提到了解决
问题可选方案的关键字,如果有需要进一步了解的话,基本上 google 一下应该就能查
出来了,不过就像之前有朋友说的,如果不是经常用的话,其实就算现在知道了也是会
忘记的,这很正常,:),不过我更认为那是因为知其然而不知其所以然造成的,很多东

 

西如果知道原理的话,基本上还是可以记得很长一段时间的。

 

片断一
在 main

 

中启动两个线程,例如:

Thread a=new Thread(){
public void run(){
System.out.println("Call A");
try{
Thread.sleep(1000);
}
catch(Exception e){
e.printStackTrace();
}
}
};
Thread b=new Thread(){
public void run(){
try{
Thread.sleep(500);
}
catch(Exception e){
e.printStackTrace();
}
System.out.println("Call B");
}
};
a.start();
b.start();
System.out.println("execute here");

 

在这样的方式下,执行时会出现什么样的效果;
怎么样才能保证字符串的打印顺序是:"Call B"-->"Call A"-->"execute here"呢?(提