当前位置: 代码迷 >> 多核软件开发 >> 线程同步 能实现不?该怎么处理
  详细解决方案

线程同步 能实现不?该怎么处理

热度:8941   发布时间:2013-02-26 00:00:00.0
线程同步 能实现不?
我想实现的是:

 在线程一中: 
  不断的从数据库中读取数据信息匹配
  当匹配出 达到我们监控的要求后 我会把这条信息 存储在 全局的 datatable中 

在线程二中:
  我会对datatable中的数据一条条的删除

  数据匹配存储这个过程是一直进行的 不能受打扰,即使在datatable被线程二使用着,也要马上让给
线程一去操作。

不知道能否实现这样的效果不??

想过用lock,lock(datatable),这样实现我的功能,不知这样是否正确??

------解决方案--------------------------------------------------------
探讨
我想实现的是:

在线程一中:
不断的从数据库中读取数据信息匹配
当匹配出 达到我们监控的要求后 我会把这条信息 存储在 全局的 datatable中

在线程二中:
我会对datatable中的数据一条条的删除

数据匹配存储这个过程是一直进行的 不能受打扰,即使在datatable被线程二使用着,也要马上让给
线程一去操作。

不知道能否实现这样的……

------解决方案--------------------------------------------------------
用信号量
------解决方案--------------------------------------------------------
探讨
引用:

用信号量

用信号量的话 当我对datatable操作的时候, 不是就不能让线程一去添加数据了吗?

------解决方案--------------------------------------------------------
按LZ说的好像有点矛盾,同一时刻,根本不可能让两个线程同时作业的
线程一访问的时候必须得锁住了
线程二只有在收到某个通知(线程一现在休息了,控制句柄现在可以交给你了)后才能开始作业
作业过程中如果收到另一个通知(线程一现在上班了,必须移交控制权)

而上述过程正好是信号量完全胜任的工作
  相关解决方案