Synchronized理解

来源:互联网 发布:软件网络请求超时 编辑:程序博客网 时间:2024/06/09 05:18
synchronized 的这个关键字,这个关键字用得比较少,平时也一般没怎么接触到。不过在多线程处理中却经常会用到它,为什么呢?
别看字面 synchronize 是同步的意思,但它出于安全因素,却做了相反的事。锁住某一方法或者某一代码块,使其在同一时刻只能由某一线程去操作它。其他线程想要执行这个方法或者代码块的话则必须等待其执行完。
如何用它?
用法有两类:
第一类:锁住方法;
如public synchronized void method() {}
在方法前面加 synchronized关键字, 这样当多个线程同时调用这个方法时,当前使用这个方法的线程会将它锁住,直到它用完才解锁,这样等待的想使用它的线程才能使用它。
第二类:锁住代码块:
如: public void method()

synchronized (this){ };
0 0
原创粉丝点击