java中synchronized修饰的方法和代码块
来源:互联网 发布:圆方家居设计软件破解 编辑:程序博客网 时间:2024/06/05 02:51
Java中synchronized修饰的方法和代码块
public class Test { public static void main(String[] args) { // 测试synchronized修饰的方法 new Thread(new Runnable() { @Override public void run() { Test.testsyncmethod(); } }, "t1").start(); new Thread(new Runnable() { @Override public void run() { Test.testsyncmethod(); } }, "t2").start(); // 测试synchronized修饰的代码块 final Test test = new Test(); new Thread(new Runnable() { @Override public void run() { test.testsyncCode(); } }, "t1").start(); new Thread(new Runnable() { @Override public void run() { test.testsyncCode(); } }, "t2").start(); // 测试synchronized(this)同步代码块 ThreadTest tt = new ThreadTest(); Thread t1 = new Thread(tt, "t1"); Thread t2 = new Thread(tt, "t2"); t1.start(); t2.start(); } /*** * synchronized修饰的方法,并发线程同事调用时,一个时间内只有一个线程得到执行。其他线程必须等待当前线程执行完这个方法后才能执行 */ public static synchronized void testsyncmethod() { for (int i = 0; i < 10; i++) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " " + i); } } /*** * synchronized修饰的方法,并发线程同事调用时,一个时间内只有一个线程得到执行。其他线程必须等待当前线程执行完这个方法后才能执行 */ public void testsyncCode() { synchronized (this) { for (int i = 0; i < 10; i++) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }}class ThreadTest implements Runnable { @Override public void run() { // synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块 synchronized (this) { for (int i = 0; i < 5; i++) { System.out.println(Thread.currentThread().getName() + " " + i); } } System.out.println(Thread.currentThread().getName() + "--"); }}
1 0
- java中synchronized修饰的方法和代码块
- java中synchronized修饰的方法或代码块和static synchronized修饰方法或代码块的区别
- Java Synchronized修饰静态方法普通方法和代码块
- java synchronized修饰方法和修饰方法块
- java synchronized修饰方法和修饰方法块
- JAVA Synchronized 修饰代码块;
- java synchronized修饰普通方法,修饰静态方法,修饰代码块,修饰线程run方法 比较
- java中synchronized修饰代码块(两种创建线程的方式讲解卖票程序)
- Java 中被static 修饰的属性,方法和代码块在什么时候加载
- synchronized方法和代码块的使用
- synchronized方法和代码块的理解
- synchronized修饰方法和修饰方法块(-)
- synchronized修饰方法和修饰方法块(二)
- Java 多线程:synchronized 关键字用法(修饰类,方法,静态方法,代码块)
- Java 多线程5:synchronized 关键字用法(修饰类,方法,静态方法,代码块)
- synchronized关键字修饰代码块
- 一张图讲解对象锁和关键字synchronized修饰方法(代码块)
- 一张图讲解对象锁和关键字synchronized修饰方法(代码块)
- Echarts插件使用总结
- Java 强引用 软引用 弱引用的使用
- HDU 6030 Happy Necklace (DP)
- Intellij IDEA设置忽略部分类编译错误
- 牛课网学习--编程练习
- java中synchronized修饰的方法和代码块
- Linux音频设备驱动_OSS驱动框架(五)————韦东山分析及madplay安装
- Hbuild H5带参数跳转到安卓原生界面
- 软件需求说明书模板1
- ModBus RTU和ModBus ASC
- 百度Ueditor增加字体
- java-maven 全局常用命令
- 程序9--暂停一秒输出
- 通用的makefile分析