代码之家  ›  专栏  ›  技术社区  ›  Roubachof

提高等待句柄的线程优先级

  •  0
  • Roubachof  · 技术社区  · 15 年前

    我运行的应用程序有很多线程。 所有这些线程都在用GPS坐标更新数据库。 同时,应用程序可以接收同步请求。 在服务器处理这个请求之前,所有的写入线程都必须完成它们的工作。 因此,我使用一组等待句柄来管理这一点。

    下面是场景:

    演员:

    1 Synchro Thread
    N Writing Thread
    

    n写线程 正在工作 . 一条同步线到达 等待 处理停止。 它要求锁。这样做,它被放在 列表的结尾 “声明锁线程”。

    问题是:这个列表可能很长,或者我的同步线程是 重中之重 .

    我怎么能做到给它一个 贵宾通行证 ?

    2 回复  |  直到 15 年前
        1
  •  2
  •   MaLio    15 年前

    听起来您应该使用System.Threading.ReaderWriterLockslim。编写器可以在锁的“读取”模式下工作,需要独占访问的同步线程可以进入“写入”模式。

        2
  •  0
  •   SwDevMan81    15 年前

    听起来你需要实施一个优先锁定系统。有一个例子 here