Java----synchronized的小测试
来源:互联网 发布:网络电视直播软件安装 编辑:程序博客网 时间:2024/06/06 12:58
方式一:方法内部修饰
public class ThreadTest {public static List<Integer> forLey = new ArrayList<Integer>();public void doFun() {try {Thread.currentThread().sleep(600);} catch (Exception e) {e.printStackTrace();}synchronized (ThreadTest.class) {if (forLey.size() >= 1000)return;forLey.add(10);System.out.println(forLey.size());//打印1到1000}}public static void main(String[] args) {ThreadTest threadTest = new ThreadTest();for (int i = 0; i < 2000; i++) {Thread thread = new Thread(new MyRunnable(threadTest));thread.start();}}}class MyRunnable implements Runnable {private ThreadTest threadTest;public MyRunnable(ThreadTest threadTest) {this.threadTest = threadTest;}@Overridepublic void run() {threadTest.doFun();}}
方式二:修饰方法
public class ThreadTest {public static List<Integer> forLey = new ArrayList<Integer>();// 修复实例方法,操作的ThreadTest的实例应为单实例(同一实例对象),可以注释CODE-1,打开CODE-2进行测试,程序会报错,或者打印不全// 或者将doFun方法加上 static静态修饰public synchronized void doFun() {try {Thread.currentThread().sleep(600);} catch (InterruptedException e) {e.printStackTrace();}if (forLey.size() >= 1000)return;forLey.add(10);System.out.println(forLey.size());// 打印1到1000}public static void main(String[] args) {ThreadTest threadTest = new ThreadTest(); // CODE-1for (int i = 0; i < 2000; i++) {// ThreadTest threadTest = new ThreadTest(); //CODE-2Thread thread = new Thread(new MyRunnable(threadTest));thread.start();}}}
Java SE1.6中的Synchronized http://ifeve.com/java-synchronized/
java synchronized http://liyanblog.cn/articles/2012/11/02/1351841479203.html
0 0
- Java----synchronized的小测试
- Java----synchronized的小测试
- Java----synchronized的小测试
- synchronized 的小测试
- Java--Synchronized源代码测试
- java synchronized测试程序
- 关于synchronized的测试
- Java之synchronized小例
- 关于java中的synchronized关键字的一些小研究
- java之synchronized代码测试
- 关于JAVA多线程并发synchronized的测试与合理使用
- 关于JAVA多线程并发synchronized的测试与合理使用
- 关于JAVA多线程并发synchronized的测试与合理使用
- synchronized java的见解
- java的synchronized关键字
- java的synchronized
- java的synchronized详解
- Java的关键字synchronized
- 多人联机射击游戏中的设计模式应用(一)
- SQL常用语句
- 多人联机射击游戏中的设计模式应用(二)
- 淘宝二维码对网店推广的好处
- SQL常用语句
- Java----synchronized的小测试
- 淘宝二维码对网店推广的好处
- ubuntu下编译ARM平台QtEmbedded的mysql和mysql插件
- Java----synchronized的小测试
- 移植mysql到tiny6410并附带怎么使6410跑mysql设置
- ubuntu下编译ARM平台QtEmbedded的mysql和mysql插件
- 国外经典 Java 网址
- 移植mysql到tiny6410并附带怎么使6410跑mysql设置
- 让程序员看了很爽的广告