/*
* 从运行结果看,当m1()方法被锁定后,m2()方法仍然可以执行。
* 而且b的值被改变。由此可以得出结论:
* sychronized 只是防止其定义的代码段被同时调用。
*
*/
public class Test implements Runnable{
int b = 100;
public synchronized void m1() throws Exception {
b = 1000;
Thread.sleep(5000);
System.out.println("b = " + b);
}
public void m2() {
System.out.println(b);
}
public void run() {
try {
m1();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
Test t = new Test();
Thread th = new Thread(t);
th.start();
Thread.sleep(1000);//确保线程启动
t.m2();
}
}
/*
运行结果:
1000
b = 1000
*/
/*
* 从运行结果看,当m1()方法被锁定后,m2()方法仍然可以执行。
* 而且b的值被改变。由此可以得出结论:
* sychronized 只是防止其定义的代码段被同时调用。
* 将m2()锁定后,更改部分代码结果???
*
*/
public class Test implements Runnable{
int b = 100;
public synchronized void m1() throws Exception {
b = 1000;
Thread.sleep(5000);
System.out.println("b = " + b);
}
public synchronized void m2() throws Exception {
Thread.sleep(2500);
b = 2000;
}
public void run() {
try {
m1();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
Test t = new Test();
Thread th = new Thread(t);
th.start();
Thread.sleep(1000);//确保线程启动
t.m2();
System.out.println(t.b);
}
}
/*
运行结果:
b = 1000
2000
*/
分享到:
相关推荐
本资源是关于明华读卡器的Java例程,真实可用。自己做过测试。
python 条件同步的使用 条件同步:threading.Condition 多线程同步,python2例程 多线程的同步 多线程情况下最常见的问题之一:数据共享; 当多个线程都要去修改某一个共享数据的时候,需要对数据访问进行同步...
简单JAVA例程(绝对新手实例)认识JAVA。简单的JAVA程序!
java初学者必看,关于监控器,jdbc,绘图方面操作,外加自己写的一个选修课作业
一个非常简单的Java程序 计算长方体的表面积和体积
java多线程经典例程
故另外开启一个线程,用于接受客户端的socket消息。服务器在收到一个socket连接之后,把该socket保存到队列中,并对队列中的每个socket开启各自的读写线程。测试可以在不同控制台运行server和client,服务器接收消息...
JAVA的基础例程,一些关于java的简单程序代码与文档,有助于JAVA基础薄弱的人快速提高,而且也有助于一般的开卷考试课哦,其中一定有你需要的
本人用c++实现的win32线程同步方案归纳,简洁明了,只用做给新手的基本演示,创建线程所用函数为微软c运行时库的_beginthreadex,是微软最推荐使用的函数。 总共5种线程同步方案:事件、信号量、全局变量、临界区、...
VC多线程例程十及图解文档 (使用信号量进行线程同步)
VC多线程例程七及图解文档 (使用事件进行线程同步) 按高手的文件写的
VC多线程例程七及图解文档 使用临界区机制进行线程同步
易语言多线程的运用例程源码,多线程的运用例程,开始,线程运作,销毁全部线程,线程全部暂停,线程全部恢复,取指定内容,挂起线程,恢复线程,创建线程,销毁线程
python 多线程的同步机制 以python2例程的方式讲解了python 多线程的同步 常用的方法,主要是锁、条件同步、队列 多线程的同步 多线程情况下最常见的问题之一:数据共享; 当多个线程都要去修改某一个共享数据...
同时执行多线程例程同时执行多线程例程同时执行多线程例程
基于Java的扫雷、俄罗斯方块、聊天工具、五子棋,游戏例程。
几个java描述的适用于初学者的例程源代码,可随意修改,寓学与实际操作。
Java 教材中的例程.zip
java串口通信,压缩包包含rxtxcomm以及javacomm20例程,以及一个test例程,已测试。
VC多线程例程七及图解文档(线程间通信) 含源源码