今天在看Java多线程的视频中又一次接触到synchronized的这个关键字,这个关键字用得比较少,平时也一般没怎么接触到。不过在多线程处理中却经常会用到它,为什么呢?
别看字面synchronize 是同步的意思,但它出于安全因素,却做了相反的事。锁住某一方法或者某一代码块,使其在同一时刻只能由某一线程去操作它。其他线程想要执行这个方法或者代码块的话则必须等待其执行完。
如何用它?
用法有两类:
第一类:锁住方法;
如 public synchronized void method() {}
在方法前面加synchronized关键字,这样当多个线程同时调用这个方法时,当前使用这个方法的线程会将它锁住,直到它用完才解锁,这样等待的想使用它的线程才能使用它。
第二类:锁住代码块:
如:public void method()
{
synchronized (this){ };
}
下面参考网站介绍的相当详细:
java中synchronized用法
java中关键字Synchronized的理解及用法
最新推荐文章于 2021-11-25 22:59:47 发布
本文介绍了Java中synchronized关键字的作用及用法。synchronized用于确保同一时刻只有一个线程可以访问特定的方法或代码块,防止多线程环境下出现数据不一致的问题。文章详细解释了两种主要用法:一是直接应用于方法上实现锁;二是通过锁定代码块来实现。

561

被折叠的 条评论
为什么被折叠?



