asp.net下使用多线程多么?
有这样一个需求:
一些用户会执行一个这样的操作,点击某个按钮或链接后,往数据库里插入200到几千条数据不等。
但是由于插入数据库这些操作耗时,所以打算另开一个线程操作。这个线程就是在按钮的事件里另开的。
如果其他用户也在进行这样的操作时,同样会去开一个线程。
但是,不知道怎么回事,如果第一个用户开了个线程开始插入数据库记录,此时,第二个用户也开始执行此操作并插入数据库
记录,最终导致第二个用户要插入数据库的记录全部插入,而第一个用户的只插入部分。
很是疑惑~~ 为什么呢?
还有,就是有没有什么方法确保第一个用户插入数据库的记录全部完成后,第二个再开始呢?
------解决方案--------------------用存储过程不行吗,打开事务,如果前面的插入失败则回滚事务,全部插入成功提交事务。
------解决方案--------------------
------解决方案--------------------
建议使用异步,ajax或者async都可以。
在asp.net下,最好不用多线程。因为是多用户并行的,很可能出错,而出错很难调试。