Java中多线程互斥访问的实现
来源:互联网 发布:php apc缓存 编辑:程序博客网 时间:2024/05/17 23:56
1、没有实现线程互斥的函数
1.1 没有实现多线程互斥访问的函数
1.2 测试代码
1.3 测试结果
出现不正常的输出情况,如下:
2、多线程互斥访问函数的实现一
2.1 实现多线程互斥访问的函数 (在需要加上互斥访问的代码快上,加上synchronized关键字)
在测试代码里面,只new了一个Outputer对象,在两个Runable接口里面调用。这样才能保证用的字符串Sting的xxx是唯一的.2.2 测试结果
正常
3、多线程互斥访问函数的实现二
3.1 实现多线程互斥访问的函数(在需要加上互斥访问的代码快上,加上synchronized关键字,并使用this关键字)
因为每个类的方法里面,本身就有一个this对象,所以不需要再使用一个新的字符串.直接使用this对象就好了。3.2 测试结果
正常
4、多线程互斥访问函数的实现三
4.1 实现多线程互斥访问的函数(在需要加上互斥访问的代码快上,加上synchronized关键字,并使用类的字节码类)
4.2 测试结果
正常
5、多线程互斥访问函数的实现四
5.1 实现多线程互斥访问的函数(在需要加上互斥访问的代码快上,在对应的函数上加上synchronized关键字)
5.2 测试结果
正常
6、多线程互斥访问函数的实现五
6.1 实现多线程互斥访问的函数(使用Lock)
static class Outputer {ReentrantLock lock = new ReentrantLock();public void output(String name) {int len = name.length();try {// 上锁lock.lock();for (int i = 0; i < len; i++) {System.out.print(name.charAt(i));}System.out.println();} catch (Exception e) {} finally {// 释放锁lock.unlock();}}}
6.2 测试结果
正常
1 0
- Java中多线程互斥访问的实现
- 多线程实现互斥访问对象的方法
- Java多线程互斥访问变量
- java多线程资源互斥访问
- java多线程互斥访问小例子
- VC++中数据访问互斥的简单实现方法
- Windows多线程编程实现数据互斥访问的几个方法
- 用WaitForSingleObject()函数实现简单的多线程互斥访问
- Bakery Algorithm的c#实现用于多线程互斥访问临界资源
- Java多线程间的同步互斥
- java多线程(二)线程的互斥
- java 多线程的互斥代码
- Linux--多线程访问全局变量互斥的例子
- java实现多个线程互斥访问文件
- Java多线程实现及同步互斥通讯详解
- java多线程关于线程互斥实现实例
- linux c++ 多线程 互斥访问
- 用java实现的生产者与消费者多线程同步互斥模型
- 后台检查codis集群节点工具
- 退出App你应该做些什么
- 不要一辈子靠技术生存
- 使用 Chrome Timeline 来优化页面性能
- 【ViewPager的学习】实现自动循环切换
- Java中多线程互斥访问的实现
- IDEA(jetbrain通用)优雅级使用教程
- 程序员该如何规划自己的人生
- listview的一些属性
- iOS自定义控件二
- Android程序安装后应用图标不显示
- 微信号码检测助手技术完整版介绍
- NN远程桌面SDK之VC++开发源码
- intel MKL 和visual studio 2013的配置