【发布时间】:2012-03-29 05:54:11
【问题描述】:
我正在用 SQLite 做一些事情,我希望线程在我处于“事务”时被阻塞。下面的代码能正常工作吗?
public class ThreadSafeSQLiteConnection
{
private readonly SQLiteConnection connection;
public static object TRANSACTION_LOCK = new Object();
public void BeginTransaction() {
Monitor.Enter(TRANSACTION_LOCK);
connection.BeginTransaction();
}
public void Commit() {
connection.Commit();
Monitor.Exit(TRANSACTION_LOCK);
}
public void Rollback() {
connection.Rollback();
Monitor.Exit(TRANSACTION_LOCK);
}
}
如果在这种情况下我有一个事务打开,没有线程可以进入BeginTransaction方法对吗?
【问题讨论】:
标签: c# multithreading transactions locking thread-safety