利用互斥解决交易并发问题
2013-07-14 09:03
190 查看
估计大多数人在写数据库相关的程序的时候,都是用一个数据库Connection。因此有时会遇到在程序并发操作数据库所造成的异常问题。解决这类问题,很多人都是在建立一个数据库连接,来分别操作;但是如果并发的数据库操作不知两个的时候,那前面所说得的方法就显得不是很实际。
其实,在程序中用一个数据库Connection很容易解决对数据库的互斥操作,大致的方法如下:
1. 首先,需要建立一个全局静态的互斥量;例如:
using System.Threading;
private static Mutex m;
2. 修改原先操作数据库的部分,注意的是(数据库查询是不需要的):
if(m==null)
m=new Mutex();
//Enter into mutex area
m.WaitOne();
//Execute sql command here
//Depart from mutex area
m.ReleaseMutex();
以上的方法,展示如何使数据库操作互斥,那么用它来进行应用的时候,要根据自己的实际需要而定。
其实,在程序中用一个数据库Connection很容易解决对数据库的互斥操作,大致的方法如下:
1. 首先,需要建立一个全局静态的互斥量;例如:
using System.Threading;
private static Mutex m;
2. 修改原先操作数据库的部分,注意的是(数据库查询是不需要的):
if(m==null)
m=new Mutex();
//Enter into mutex area
m.WaitOne();
//Execute sql command here
//Depart from mutex area
m.ReleaseMutex();
以上的方法,展示如何使数据库操作互斥,那么用它来进行应用的时候,要根据自己的实际需要而定。
相关文章推荐
- 利用锁机制解决商品表和库存表并发问题
- 如何利用Redis锁解决高并发问题详解
- 利用redis + lua解决抢红包高并发的问题
- JAVAWEB开发之Hibernate详解(三)——Hibernate的检索方式、抓取策略以及利用二级缓存进行优化、解决数据库事务并发问题
- 利用redis + lua解决抢红包高并发的问题
- 利用redis + lua解决抢红包高并发的问题
- JAVAWEB开发之Hibernate详解(三)——Hibernate的检索方式、抓取策略以及利用二级缓存进行优化、解决数据库事务并发问题
- 利用redis + lua解决抢红包高并发的问题
- 利用redis + lua解决抢红包高并发的问题
- 利用Memcache解决数据库高并发访问的瓶颈问题
- 利用redis + lua解决抢红包高并发的问题
- 利用epoll和多进程解决高并发问题
- Spring-利用ThreadLocal解决线程安全问题(多线程并发登录)
- 利用redis + lua解决抢红包高并发的问题
- 利用redis + lua解决抢红包高并发的问题
- 利用redis + lua解决抢红包高并发的问题
- 利用线程的同步和互斥解决两个消费者两个生产者一个临界区问题
- 利用redis + lua解决抢红包高并发的问题
- 利用redis + lua解决抢红包高并发的问题
- 利用redis + lua解决抢红包高并发的问题