什么是竞争条件的解决方案?

时间:2012-02-20 08:32:56

标签: multithreading thread-safety race-condition

我之前看过这种模式,但是我不记得用来描述它的术语(因此我不能通过Google来了解它):

基本上,这是您拥有多个线程使用的资源的地方,但不是锁定对该资源的访问权限,提交事务,然后解锁访问权限,而是资源拥有自己的“队列”和每个进程“将“要在该资源上执行的函数发布到其队列中”。然后资源按照发布的顺序执行并执行每个函数,确保其状态永远不会被破坏。

2 个答案:

答案 0 :(得分:1)

我认为这里可以使用的最具体的术语是 Actor 。我认为一个演员是一个“线程”(或类似线程的进程)......

  • ...... alive:它可以独立于其他演员行事
  • ...有状态:它可以存储数据并确保正确访问。

这样一个actor的实现通常是一个处理同步消息队列的线程。

只是称这种“同步”是正确的但非特定的。

答案 1 :(得分:0)

它被称为同步。根据您的描述,您似乎正在使用互斥锁。