各位好,假设我的程序有成千上万的用户访问怎么样做到程序的并发控制?程序并发和数据库并发怎么实现的?希望各位能多给我点实际的经验,非常感谢!!!
你说的并发我碰到过的有两种,一种是应用服务器的并发(比如IIS并发)和数据库服务器的并发,前者需要通过负载均衡和多应用服务器来解决,后者也可以通过架构多数据库服务器来解决。另外一种是应用程序中数据的并发,比如A用户登陆到办公系统,B用户也登陆到办公系统,两个人对于同一条数据都有修改权限。现在假设A用户打开了修改界面(已经读取了数据库中某条具体的数据),还没有点修改按钮;这个时候B用户也打开了修改页面,并且点了修改按钮;这个时候A用户如果再去点修改按钮,那么这个就是我说的后面一种并发类型。这种并发是我们程序中需要考虑的。常见的有三种做法,一种就是后面的那个人修改的直接把前面人修改的覆盖掉(这种是偷懒的办法,用于不是很重要的数据);第二种处理办法是A用户点修改的时候,弹出一个对话框来,告诉用户这条记录已经被B用户修改过了,并且修改后的内容显示出来,问A用户是否继续保存(这种是比较好的解决办法,但是程序弄起来比较麻烦);第三种就是直接报错,告诉人家该记录因为什么原因不能保存。
说得有点大,不知道怎么回答.
如果是ASP.NET应用程序IIS会控制第个请求,会为第一个请求分配单独线程,不会使服务器主线程假死。
如果访问量很大的话,就须要自己实现一个架构来控制并发访问。。
如果不是很大的话,只要在写代码时多注意些,用完的对象有及时释放,算法尽量精简