黑马程序员——线程同步的几种方法
来源:互联网 发布:mac照片导入相簿 编辑:程序博客网 时间:2024/04/28 14:02
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
同步是用来解决多线程的安全问题的,在多线程中,同步能控制对共享数据的访问。如果没有同步,当一个线程在
修改一个共享数据时,而另外一个线程正在使用或者更新同一个共享数据,这样容易导致程序出现错误的结果。
线程同步的几种方法:
对于同步,在具体的Java代码中需要完成一下两个操作:
把竞争访问的资源标识为private;
同步哪些修改变量的代码,使用synchronized关键字同步方法或代码。
当然这不是唯一控制并发安全的途径
wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。
notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。
0 0
- 黑马程序员——线程同步的几种方法
- 黑马程序员——线程同步的几种方式
- 黑马程序员 让某个线程结束的几种方法
- 黑马程序员——NSString的几种实用方法
- 黑马程序员——线程同步
- 黑马程序员——线程实现的两种方法
- 实现线程同步的几种方法
- C#线程同步的几种方法
- C#线程同步的几种方法
- C#线程同步的几种方法
- C#线程同步的几种方法
- C#线程同步的几种方法
- C#线程同步的几种方法
- 线程同步的几种方法
- 线程同步的几种方法
- C#线程同步的几种方法
- 线程同步的几种方法
- C#线程同步的几种方法
- Android sensor架构(二)SystemSensorManager以及JNI、sensorService(and5.1)
- 关于Fragment 不响应onActivityResult的情况分析
- VirtualBox+Windbg 进行双机调试的方法
- 模板类与类模板、函数模板与模板函数等的区别
- VC CString 转成 char* 或者 char数组
- 黑马程序员——线程同步的几种方法
- opencv实例说明
- Vesions ignore & ld: library not found for -l问题总结
- Android开发Eclipse中DDMS中Heap使用及GC_EXTERNAL_ALLOC含义
- 一个类文件向窗体TextBOX控件赋值问题
- 延云YDB v1.0.3-beta版本发布
- Android MediaPlayer 播放prepareAsync called in state 8解决办法
- jmeter之编写java请求-扩展Java Sampler
- python基础教程共60课-第16课字符串格式化2