多线程访问数据库,再谈c#中多线程下的数据安全

个人的理解:多线程下的数据安全应该指的是在使用数据的生存期内它是不变的,使用数据的生存期可以是一个过程或函数,当然这里的指的数据不包含过程或函数中的局部变量,因为局部变量它本身就是线程安全的数据. 那如何做到呢?最简单的方法是使用lock(object)来锁定,但它存在一个效能问题,试想一下在一个多数情况下是读操作而只有少数情况是写操作的环境下,如果使用lock来锁定的话,一个线程的读操作必需等待... [阅读全文]

多线程访问数据库:多进程多线程访问数据库

  如何让多进程多线程访问数据库,而不会选择相同的数据,这在设计分布式程序的时候经常用到,多台机器的多个进程,每个进程都有多个线程,每个线程要从数据库里取数据来处理,要实现不能漏取数据,也不能重复取数据,这里给出答案 .  创建一个数据表,如下,一个自增列,一个表示rss链接地址先放1w条数据再创建一个锁表,一个字段表示是否已经锁定的资源,另一个表示已经读取的rss源的最大id初始化数据下面我们要... [阅读全文]
1 共1条 分1页