关于synchronized
2011-09-13 17:01
218 查看
synchronized加锁主要为了实现同步机制。
加锁的函数、对象、代码段在任何时候都只能被一个线程操作和调用。
因此操作一些已经有加锁机制的对象时不需要加synchronized,也不需要加同步
机制,比如对数据库的增删改。
另外当用一些已经支持多线程的类来操作对象时也不需要加锁。
比如用FileWriter来写文件,即使同时有10个线程写同一个文件也不用加锁。
但是我们自己实现的数据容器,内存中的数据,数据池,对这些数据进行操作时,尤其要注意,因为可能出现多个线程同时操作,导致数据混乱,所以要加锁。
最简单的方法是用synchronized。
好点的是用:java.util.concurrent包中的类
加锁的函数、对象、代码段在任何时候都只能被一个线程操作和调用。
因此操作一些已经有加锁机制的对象时不需要加synchronized,也不需要加同步
机制,比如对数据库的增删改。
另外当用一些已经支持多线程的类来操作对象时也不需要加锁。
比如用FileWriter来写文件,即使同时有10个线程写同一个文件也不用加锁。
但是我们自己实现的数据容器,内存中的数据,数据池,对这些数据进行操作时,尤其要注意,因为可能出现多个线程同时操作,导致数据混乱,所以要加锁。
最简单的方法是用synchronized。
好点的是用:java.util.concurrent包中的类
相关文章推荐
- iOS开发笔记--关于 @synchronized,这儿比你想知道的还要多
- 关于synchronized的认识一
- 关于java中的synchronized关键字的理解
- iOS 中关于@synchronized的一点思考
- 关于java synchronized修饰方法时实现线程互斥遇到的问题
- 关于多线程同步的初步教程--使用synchronized
- 再谈关于 java 线程,synchronized,wait,notify
- 关于synchronized关键字的问题
- 关于synchronized、wait、notify已经notifyAll的使用
- 关于synchronized、wait、notify已经notifyAll的使用
- 关于 @synchronized,这儿比你想知道的还要多
- 关于synchronized具备原子性的问题
- java关于synchronized的某些知识
- Java【多线程知识总结(7)】多线程同步问题-关于synchronized代码块和synchronized方法的应用
- 关于synchronized(this)中this指的是什么意思
- 同步——synchronized机制、Lock和Conditon机制和关于线程中断
- 关于synchronized的几点说明
- [绍棠] 关于 @synchronized
- 关于synchronized(this)
- 关于synchronized、wait、notify已经notifyAll的使用