草庐IT

lock-my-computer-programatically-

全部标签

c# - "thread-safe type"到底是什么?我们什么时候需要使用 "lock"语句呢?

我阅读了所有关于线程安全类型和“锁定”语句的文档,但我仍然没有100%理解它。具体什么时候需要使用“lock”语句?它与(非)线程安全类型有何关系?谢谢。 最佳答案 想象一个类的实例,里面有一个全局变量。想象一下,两个线程同时对该对象调用一个方法,并且该方法更新内部的全局变量。变量中的值很可能会被破坏。不同的语言和编译器/解释器会以不同的方式处理这个问题(或者根本不处理......)但关键是你会得到“不希望的”和“不可预测的”结果。现在假设该方法在尝试读取或写入变量之前获得变量的“锁”。第一个调用该方法的线程将获得变量的“锁”,第二

c# - lock() 语句会阻塞进程/应用程序域中的所有线程吗?

也许这个问题听起来很愚蠢,但我不明白“关于线程和锁定的一些事情,我想得到确认(here'swhyIask)”。因此,如果我有10台服务器并且同时有10个请求到达每个服务器,那么整个服务器场就有100个请求。如果没有锁定,那就是对数据库的100个请求。如果我这样做:privatestaticreadonlyobjectmyLockHolder=newobject();if(Cache[key]==null){lock(myLockHolder){if(Cache[key]==null){Cache[key]=LengthyDatabaseCall();}}}我将执行多少数据库请求?10?

c# - 如果你跳出 Lock() 语句会发生什么?

我正在编写一个程序来监听传入的TcpClient并在数据到达时处理数据。Listen()方法在组件内的单独线程上运行,因此它需要是线程安全的。如果我在lock()语句中break跳出dowhile循环,锁定被释放?如果没有,我该如何实现?谢谢!(也欢迎就异步TCP套接字主题提出任何其他建议。)privatevoidListen(){do{lock(_clientLock){if(!_client.Connected)break;lock(_stateLock){if(!_listening)break;if(_client.GetStream().DataAvailable)Handl

c# - lock(this) 和静态对象上的锁之间的区别

以下两个代码片段中哪个更好用?staticreadonlyobject_locker=newobject();lock(_locker)或lock(this)this是当前实例的一个对象。那么,为什么lock(_locker)总是在书中?Related:Whatisthedifferencebetweenlock(this)andlock(thisLock)?Whyislock(this){…}bad? 最佳答案 可能会有很大的不同。两者之间最大的区别在于第一个示例使用单个对象锁定(因此使用static关键字),而第二个示例中的th

c# - "Where are my bytes?"或文件长度特征调查

这是我关于downloadingfilesinchunks问题的延续.解释会很大,所以我会尽量把它分成几个部分。1)我试图做什么?我正在为Window-Phone应用程序创建一个下载管理器。首先我尝试解决下载的问题大文件(解释在上一个问题中)。不,我想添加“可恢复下载”功能。2)我已经做过的事情。目前我有一个运行良好的下载管理器,它可以超越WindowsPhone的RAM限制。这个管理器的特点是,它允许使用HTTPRangeheader下载小块文件。对其工作原理的快速解释:该文件以恒定大小的块下载。我们称这个大小为“delta”。下载文件块后,它以追加模式保存到本地存储(硬盘,在WP上

C#.Net : Why is my Process. Start() 挂起?

我正在尝试以另一个用户的身份从我的网络应用程序运行批处理文件。由于某种原因,批处理文件挂起!我可以在任务管理器中看到“cmd.exe”在运行,但它永远坐在那里,无法被杀死,批处理文件也没有运行。这是我的代码:SecureStringpassword=newSecureString();foreach(charcin"mypassword".ToCharArray())password.AppendChar(c);ProcessStartInfopsi=newProcessStartInfo();psi.WorkingDirectory=@"c:\build";psi.FileName=

c# - 实例构造函数中的 lock()

我在实例构造函数中的一些代码锁定语句中找到了。代码看起来像这样publicclassMyClass{privatereadonlyobject_syncRoot=newobject();publicMyClass(stringparameter){lock(_syncRoot){//somecode}}}这里我觉得lock是没有用的,因为这段代码不能在不同的线程中调用。每个线程都会创建自己的对象实例调用构造函数。但也许我错了,不知道什么。谢谢。编辑:在这个问题的第一个答案C#Amiusinglockcorrectly我找到了It'sbesttoputalockaroundthecode

C# EWS 托管 API : How to access shared mailboxes but not my own inbox

如何连接到交换服务器并从共享邮箱(不是我自己的“myname@mycompany.com”)读取邮件。到目前为止,这是我的代码://CreateaserviceExchangeServiceservice=newExchangeService(ExchangeVersion.Exchange2007_SP1);//Autodiscoverendpointservice.AutodiscoverUrl("someaddress@mycompany.com");FindFoldersResultsfolderSearchResults=service.FindFolders(WellKno

c# - 神经网络 : why does my function return different outputs to the in-built one?

我正在使用NeuronDotNet用于C#中的神经网络。为了测试网络(以及训练网络),我编写了自己的函数来获取误差平方和。然而,当我通过在训练数据上运行它来测试这个函数并将它与反向传播网络的MeanSquaredError进行比较时,结果是不同的。我发现出现不同错误的原因是当我在学习阶段运行时网络返回不同的输出。我使用以下方法为每个TrainingSample运行它:double[]output=xorNetwork.Run(sample.InputVector);在学习阶段使用:xorNetwork.Learn(trainingSet,cycles);...使用委托(delegate

c# - 有人知道输出 "Module is optimized and the debugger option ' Just My Code' is Enabled”吗?

正如我在previous问题中所说,我正在将我的应用程序迁移到WindowsMetro应用程序。我得到这样的输出我不明白这个输出,如果有人知道请告诉我! 最佳答案 通常,您不需要模块加载消息,但默认情况下它们是打开的。工具->选项->调试->输出窗口->模块加载消息->关闭 关于c#-有人知道输出"Moduleisoptimizedandthedebuggeroption'JustMyCode'isEnabled”吗?,我们在StackOverflow上找到一个类似的问题: