同步方法,何时使用

时间:2012-12-05 16:48:32

标签: java synchronization

我需要创建一个类来包装不是“线程安全”的其他类和方法(第三方)。 我实际上想要创建一个单线程类/方法。

这应该这样做:

public class SomeClass {
    public static synchronized void performTask(int val) {
        //interesting non-thread safe code...
        ThisClass thisclass = new ThisClass();
        thisclass.dostuff();
        ThatClass thatclass = new ThatClass();
        thatclass.dootherstuff();
        HisClass hisclass = new HisClass();
        hisclass.notsure();
    }

1个静态类,其中1个静态方法是同步的。 因此,如果多个对象正在使用/调用此类。他们将不得不“在线”等待。如果负载很重,性能会受到影响。

public class MyClass {
    public void mytask() {
        //interesting code
        SomeClass.performTask(myval); // will wait if some other code block is in SomeClass.performTask?
    }

1 个答案:

答案 0 :(得分:0)

Synchronization环境中需要

multi-threaded。当多个线程可以同时访问您的资源时,您可能需要synchronization资源访问权限。