locking

    1热度

    3回答

    我试图让我的多线程理解锁定。我尽我所能教导自己,但其中一些问题需要澄清。 我已经通过一段代码尝试了三次迭代。 在这段代码,需要锁定的唯一事情是this.managerThreadPriority。 首先,简单的程序方法,用简约锁定。 var managerThread = new Thread ( new ThreadStart(this.ManagerThreadEntryPoint)

    2热度

    3回答

    我有一个关于锁定的问题。这不一定只是关于记录锁定,但无论如何。 比方说,我正在编写一个可以访问网页的CMS。我正在挣扎着一些想法。 我可以在用户打开要编辑的文章时将该文章标记为“正在使用”。到现在为止还挺好。 但是我什么时候可以移除标志?当用户保存文章?但如果用户不再想打字并决定关闭浏览器并上床睡觉呢? 出现超时机制,但写一篇文章需要多长时间? 10分太短,30分太长.. 也许我过度复杂化了这一点

    8热度

    6回答

    假设我有一个多线程的C++程序,它以函数调用handleRequest(string key)的形式处理请求。对handleRequest的每次调用都发生在一个单独的线程中,并且key有任意数量的可能值。 我想以下行为: 到handleRequest(key)同时呼叫被序列化时,他们有key相同的值。 全局序列化被最小化。 的handleRequest的身体可能是这样的: void handleR

    2热度

    3回答

    在一些ASP教程,像this,我观察到以下模式: Application.Lock “做一些事情与应用对象 Application.Unlock 但是,由于网页可以有多个实例,因此存在明显的并发问题米所以我的问题如下: 如果一个页面试图锁定,而对象已被锁定,该怎么办? 有没有办法来检测应用程序对象是否被锁定? 只是在解锁的应用程序对象上工作还是会产生其他后果? 如果只有一个涉及应用程序对象的操作,

    1热度

    2回答

    在多线程代码中,当一个实例可能被多个线程读取或写入时,需要锁定它们以安全地执行这些操作。 为了避免重复创建一个对象来通过代码锁定和写入一堆锁语句,我创建了一个通用类来处理锁定。 我是否缺少任何东西,在概念上?这应该工作,对吧? public class Locked<T> where T : new() { private readonly object locker = new ob

    152热度

    6回答

    POSIX允许互斥锁递归。这意味着同一个线程可以锁定相同的互斥锁两次,而不会发生死锁。当然,它也需要解锁两次,否则没有其他线程可以获得互斥锁。并非所有支持pthread的系统都支持递归互斥,但是如果他们想要成为POSIX conform, they have to。 其他API(更高级别的API)通常也提供互斥锁,通常称为Locks。某些系统/语言(例如Cocoa Objective-C)提供递归

    1热度

    4回答

    我想使用cvs注释。这是我所运行: cvs -d /mycvs/cvsroot/ annotate "projects/dg/SomeClass.java" 不过,我得到以下错误: cvs annotate: failed to create lock directory for `/mycvs/cvsroot/projects/dg^M' (/mycvs/cvsroot/projects/d

    0热度

    1回答

    我目前正在研究一个简单的CRUD应用程序。一个要求是阻止用户同时编辑事物。为了做到这一点,我“锁定”记录以查看它们是否正在编辑,以防止其他用户同时进行编辑。我在想一个实现这一点的好方法可能是使用AJAX保持活动状态来查看用户会话是否已过期,如果是,则解锁记录以进行编辑。有没有人使用过这种技术?如果工作站已被锁定几分钟或没有,它会工作吗?

    2热度

    2回答

    我有一个应用程序在SQL Server 2000上运行一个巨大的存储过程。通常大约需要1分钟才能完成,但偶尔需要更长的时间。 刚才我在测试系统中连续跑了三次。它采取了1:12,1:23和55:25。 什么会导致这种行为?数据库中还有其他一些事情,所以我想知道它是否与锁有关。我怎样才能在行为中捕捉到这一点?

    3热度

    3回答

    每天早上我们都有一个过程,在过去的2个月里,AS400/iSeries/i6(无论IBM现在称之为什么)向DB2发出大量查询(〜10000) ,操作员一直在抱怨我们的查询锁定了一些阻止他们完成夜间处理的文件。该查询非常simplisitic,e.g Select [FieldName] from OpenQuery('<LinkedServerName>', 'Select [FieldName]