【发布时间】:2013-01-11 20:14:53
【问题描述】:
是否可以在 perl 中进入临界区,以容纳其他线程并在单线程中进行一些计算?就像在 .NET 中一样:
lock(_syncRoot)
{
// Single-threaded zone
}
【问题讨论】:
标签: multithreading perl critical-section
是否可以在 perl 中进入临界区,以容纳其他线程并在单线程中进行一些计算?就像在 .NET 中一样:
lock(_syncRoot)
{
// Single-threaded zone
}
【问题讨论】:
标签: multithreading perl critical-section
是的,Perl 有锁和信号量。有关详细信息和示例,请参阅the documentation on threads。
您的代码的 Perl 版本:
{
lock($_syncRoot);
# Single-threaded zone
}
【讨论】:
$db_lock var,用于跟踪数据库处理程序何时被锁定。无论哪种方式,您都只是在 lock() 的范围内创建了一个关键部分。