好的,所以我来到这家公司,它从一个离岸的,不再存在的实体中召回了它的软件。我们都知道演习。
在看到螺母和螺栓时,我遇到了锁定'关键词。谷歌搜索,我发现实体框架不支持多线程。
我的问题是:如何100%确定应用程序试图在多个线程中运行?是否存在“锁定”?足够的关键字?
感谢。
答案 0 :(得分:1)
如果这是一个ASP.NET / MVC Web应用程序,并且您拥有lock关键字,可能是因为该应用程序位于IIS中,并且IIS在不同线程上调度不同的用户请求,因此Web应用程序变为多线程。
在MVC的情况下 - 按照请求创建Controller,然后在不同的线程上处理它。如果两个用户一次要访问它,则需要锁定某些内容。
如果这是桌面应用程序并且锁定是数据访问发生的地方,则可能是出于类似目的。
答案 1 :(得分:0)
单独使用lock关键字是不够的,毕竟他们可能会错误地使用它。锁定只会阻止多个线程一次进入受保护区域。什么是锁保护?存储在静态变量中的数据可供使用该应用程序的所有用户(线程)使用,因此应具有受控访问权限。