如何中断改变就绪状态的线程安全算法?

时间:2017-07-02 19:41:09

标签: c# multithreading

我有一个简单的算法,如下所示:

  1. lock,如果状态为finishedstarted,则返回 - 否则设置为startedunlock
  2. 做一些工作
  3. lock,将状态设置为finishedunlock
  4. 如果错误,lock,将状态设置为failedunlock
  5. 第2步中的工作,特别是发布凭据和检索JWT令牌。每次进程执行对Web服务的调用时,都会执行该算法。

    问题是JWT令牌在72小时后到期,但运行的进程可能会持续更长时间。因此,我需要设置一个将状态重置为not started的计时器,以便该过程每72小时重新进行一次身份验证。

    所以问题是,当计时器触发并将状态重置为{{started状态时,如何有机会(无论极小)的情况下如何安全地重置状态? 1}}。

0 个答案:

没有答案