PHP - 花括号锁争用?
PHP - Lock-contentions with curly braces?
我的一位同事写了这个工人class(用于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
}
}
不,大括号对您同事说 "lock contentions" 的意思完全没有影响。
我的一位同事写了这个工人class(用于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
}
}
不,大括号对您同事说 "lock contentions" 的意思完全没有影响。