1

我的一位同事编写了这个工人类(在 Yii 1.1/Pheanstalk 中使用)。

在代码审查中,我偶然发现了两个花括号,并问他为什么这样做。他说他想防止锁争用。

我以前从未听说过!它真的是这样工作的吗?

class InvoiceWorker
{
    public static function generateAndSendInvoice($id)
    {
        // some code

        {
            $order = Order::loadLocked(new MongoId($id));
            Yii::app()->invoiceManager->createInvoice($order);
        }

        {
            $order = Util::safeFindByPk("Order", new MongoId($id));
            Yii::app()->invoiceManager->sendMail($order);
        }

        // some more code
    }
}
4

1 回答 1

3

不,花括号绝对不会影响您的同事所说的“锁定争用”。

于 2016-03-11T08:58:40.843 回答