【问题标题】:Preventing multiple threads from running same background process防止多个线程运行相同的后台进程
【发布时间】:2013-10-03 16:03:30
【问题描述】:

我有一个运行后台服务的 asp.net 网站,每分钟发送排队的电子邮件。问题是我们转移到了一个网络花园(多个工作进程),并且电子邮件被多次发送(同时或接近它),因为多个线程正在调用该后台进程。

有没有办法分配一个线程或让一个线程每分钟运行这个进程并告诉其他线程忽略它?

谢谢!

【问题讨论】:

  • 你是说多个线程可以发送同一个排队的邮件?这似乎是排队机制中的一个错误。或者您是说多个线程可以对同一封电子邮件进行排队?这里需要更多细节。
  • 多个线程可以对同一封邮件进行排队。
  • 你的后台服务机制是什么?是 w3wp.exe 中的专用线程检查 DB 的新任务还是 NT 服务像 Quartz?

标签: c# asp.net multithreading iis web-garden


【解决方案1】:

我不得不使用互斥锁来防止这种情况发生

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 2013-08-13
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多