什么是在Java中的同步方法

Java中同步方法和同步块的主要思想是什么?

我们为什么要使用它们?

示例代码会很好。 我已阅读有关同步方法的Java文档,但我没有得到这个想法。

这是Java文档代码

public class SynchronizedCounter { private int c = 0; public synchronized void increment() { c++; } public synchronized void decrement() { c--; } public synchronized int value() { return c; } }