多线程14__Java同步代码块,同步方法
来源:互联网 发布:linux查询ip 编辑:程序博客网 时间:2024/05/21 08:46
同步代码块 参见http://www.cnblogs.com/sunzn/archive/2013/02/13/2910895.html,这里改为限制循环次数50次:
new Thread() {
public void run() {
int i=0;
while (i<50) {
System.out.print("同步");
System.out.println("代码");
i++;
}}}.start();
new Thread() {
public void run() {
int j=0;
while (j<50) {
System.out.print("Synchronize");
System.out.println("Code");
j++;
}}}.start();
运行结果(截取):
可以看出:第二组代码中同一个线程下的打印输出并没有同时执行,这是因为 CPU 在不同的线程间进行切换时的随机性导致的
CPU在不同的线程间执行方法
是随机的
也就是说,在一个线程的方法中,cpu 执行到一半就暂停,又跑到另一个线程执行方法.
final Object lock = new Object();
new Thread() {
public void run() {
int i = 0;
while (i < 50) {
synchronized (lock) {
System.out.print("同步");
System.out.println("代码");
i++;
}}}}.start();
public void run() {
int j = 0;
while (j < 50) {
synchronized (lock) {
System.out.print("Synchronize");
System.out.println("Code");
j++;
}}}}.start();
还可参见 java synchronized静态同步方法与非静态同步方法,同步语句块
- 多线程14__Java同步代码块,同步方法
- 多线程 同步代码块
- 多线程、同步代码块
- 多线程-同步代码块
- java多线程——同步方法和同步代码块
- 多线程---java同步方法和同步代码块的区别
- Java_基础—多线程(同步代码块和同步方法)
- 多线程基础2-同步代码块、同步方法
- 多线程三(同步代码块)
- 多线程安全问题----同步代码块
- 同步代码块,同步代码方法,锁
- java同步方法和同步代码块
- Synchronized 同步方法和同步代码块
- 同步方法和同步代码块
- 锁,同步代码块,同步方法 区别
- java同步方法和同步代码块
- 同步方法和同步代码块
- java同步方法和同步代码块
- 自己将几个游戏改了下,控制台实现几个小功能
- 对XML进行创建,读取,追加,删除节点的操作
- exception in thread "main" brut.androlib.AndrdolibException: Counld not decode arse file
- 4.疯狂指针-壹
- 读书笔记---arm-linux-objcopy命令解析
- 多线程14__Java同步代码块,同步方法
- C和指针读书笔记-第10章(结构和联合)
- 多继承(含虚函数覆盖)vftb中虚函数排列
- 用Python和Pygame写游戏-从入门到精通(5)
- git解决冲突与merge
- cocos2d创建带有背景颜色的layer
- 天津网站建设-SEO
- 解题报告 之 POJ2699 The Maximum Number of Strong Kings
- 【Python】豆瓣FM API分析