Java问题(关于行动)

时间:2011-06-11 12:59:30

标签: java

我正在学习Java并看到一个我不知道如何解决的问题 - 问题是 - '编写一个获取动作的函数,当第一个线程进入函数时 - 它将启用该动作,然后返回true并退出。进入该函数的所有其他线程将等到第一个线程完成它的动作,然后它们将什么都不做并返回false; '

到目前为止我写了这个(在stackoverflow useres的帮助下),但我不知道这些操作是什么以及如何激活它:

public boolean doAction(Action doThis)
{
        synchronized (Ex1.lockit) // synchronize on the flag so that other threads arriving here, will be forced to wait
        { 
            if(!flag) // This condition is true only for the first thread.
            {
               flag = true; //set the flag so that other threads will not invoke doX.
         //      here I need to activate the action somehow;           
               return true;
            }
        }
        return false;    
}

0 个答案:

没有答案