Java同步之synchronized关键字

序言

在开发中,避免不了多任务的操作,往往一个线程很难满足任务需要,所以就有了多线程,并行的任务,但是当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题,其中的一种解决方式就是使用synchronized关键字

使用

synchronized主要有四种用法:

  • 第一是在方法声明时使用

放在范围操作符(public等)之后,返回类型声明(void等)之前。这时,线程获得的是 成员锁,即一次只能有一个线程进入该方法,其他线程要想在此时调用该方法,只能排队等候,当前线程(就是在Synchronized方法内部的线程)执行完该方法后,别的线程才能进入,例:

public synchronized void method() {
    // do something
}
| | 总字数统计:93.5k