public class KK {
public static void main(String[] args){
Runnable r=new MO();
Thread t1=new Thread(r);
Thread t2=new Thread(r);
t1.start();
t2.start();
}
}
class MO implements Runnable{
public synchronized void run(){
for(int i=0;i<100;i++){
System.out.println(i);
}
}
}
结果是确定的
public class KKK {
public static void main(String[] args){
OO o1=new OO();
OO o2=new OO();
o1.start();
o2.start();
}
}
class OO extends Thread{
public synchronized void run(){
for(int i=0;i<100;i++){
System.out.println(i);
}
}
}
结果不确定,synchronized好像没起作用, 麻烦给个详细解释 先谢谢了//
public static void main(String[] args){
Runnable r=new MO();
Thread t1=new Thread(r);
Thread t2=new Thread(r);
t1.start();
t2.start();
}
}
class MO implements Runnable{
public synchronized void run(){
for(int i=0;i<100;i++){
System.out.println(i);
}
}
}
结果是确定的
public class KKK {
public static void main(String[] args){
OO o1=new OO();
OO o2=new OO();
o1.start();
o2.start();
}
}
class OO extends Thread{
public synchronized void run(){
for(int i=0;i<100;i++){
System.out.println(i);
}
}
}
结果不确定,synchronized好像没起作用, 麻烦给个详细解释 先谢谢了//
解决方案 »
- 对于JAVA进程自动退出的问题
- 如何才能不显示处理页面
- 问一个关于界面和逻辑交互的问题
- java.util.zip包 压缩、解压缩求解
- 我在学接口时出遇到的问题,大家帮我看一下出错在什么地方,怎么改正,谢谢了
- 在JAVA中如何做出一个框(实际可见的) 然后再向这个框中加入一些组件?
- 请教个简单问题
- 外行人的问题:请问JBuilder是用什么语言开发的?不会是纯Java吧?如果是,Java是怎么产生Exe文件的?JBuilder能不能产生Exe文件?
- 由谁知道再jbuilder里面怎么连接mysql数据库??
- 讨论:移动图像时,如何避免图像闪烁?(附代码)
- jdk5安装时候lib目录下没有dt.jat和tools.jar,怎么办?
- 小写字母自动转换成大写字母?
创建了2个线程,每个线程调用的是同一MO对象的run方法,因为run方法是synchronized,所以这2个线程先后独占式执行run方法,最后的结果该是2次串行的。第二个:
创建了2个线程,每个线程各自调用一个OO对象的run方法,此时run方法是否synchronized已经无关紧要了,最后的结果该是并行的了。