线程锁
来源:互联网 发布:杨辉三角c语言程序 最 编辑:程序博客网 时间:2024/06/01 09:44
线程:继承Thread类或者实现Runable方法
线程的同步是为了防止多个线程可以访问同一个数据对象,对数据造成破坏。
注意:每个对象都有一把内置锁,当一个线程获得了锁之后,其他线程就无法获得锁,直到第一个对象释放锁。
synchronized可以修饰方法或者代码块,当线程睡眠时,其他线程仍处于等待状态。
在线程中常用的sleep()和wait()方法,接下来讲讲这两个方法的区别:
首先,这两个方法不是一个类下的,sleep是Thread类下的,notify()是Object类下的;
其次,sleep()方法没有释放锁,而wait()方法释放了锁,进入线程等待池等待,其他线程可以使用CPU;
最后,sleep()方法和wait()方法的使用范围不同,wait(),notify()以及notifyAll()适用于同步控制方法和同步控制块中,而sleep()方法适用于任何情况。
StringBuffer,HashTable,Vector以及concurrenthashmap是线程安全的
阅读全文
0 0
- JAVA-线程/线程锁
- 线程及线程锁
- 线程池 线程锁
- 线程、锁、线程池
- 线程锁
- 线程锁
- 线程锁.
- 线程锁
- 线程锁
- 线程锁
- 线程、锁
- 线程锁
- 线程锁
- 线程锁
- 线程锁
- 线程锁
- 线程锁
- 线程锁
- nginx源码阅读(十三).新建连接并处理就绪事件
- dbms_output.put_line无法输出
- javaScript的基本语法规范总结
- LDA 提取新闻中的主题
- 剑指offer系列(4)——从尾到头打印链表
- 线程锁
- log4j配置
- AI基本概念和应用
- Pandas对数据做简单的处理
- 杂谈设计师
- Mysql远程访问权限
- Map遍历的两种方式keySet()和entrySet()
- vue 父组件调用子组件方法
- 蒙层Flexbox将页面底部固定在屏幕最下方,内容占满屏后紧跟其后