synchronized在方法上意味着
synchronized在
this对象上。由于您每次都在创建新对象
Example example = new Example(concurrentMap, x);
同步发生在不同的对象上,因此没有阻塞。
您需要
synchronized使用共享对象或使用共享对象
Lock。这些可以传递给
Example对象,也可以使用Luiggi建议的
static字段。在这种情况下,请注意该字段不会在其他任何地方同步,否则可能会干扰此执行。

synchronized在方法上意味着
synchronized在
this对象上。由于您每次都在创建新对象
Example example = new Example(concurrentMap, x);
同步发生在不同的对象上,因此没有阻塞。
您需要
synchronized使用共享对象或使用共享对象
Lock。这些可以传递给
Example对象,也可以使用Luiggi建议的
static字段。在这种情况下,请注意该字段不会在其他任何地方同步,否则可能会干扰此执行。