草庐IT

C++11多线程—thread

全部标签

c# - 静态方法是否共享其局部变量以及在不同线程并发使用期间会发生什么?

C#问题-我正在尝试确定是否可以使用静态方法,在该方法中它确实有一些它使用的局部变量。局部变量是否在方法的使用中“共享”?例如,如果从不同线程同时调用/使用静态方法,会发生什么情况?一个线程是否阻塞直到另一个线程完成等?也许普遍的问题是,在线程应用程序中,什么时候应该“不”使用静态方法? 最佳答案 方法中的局部变量存在于栈中,每个线程都有自己的栈。因此,多个线程使用该方法是安全的。但是,如果方法本身使用静态变量,那么您应该使用适当的MT保护。您可能调用的外部方法也需要安全...... 关

c# - 使用 C# 检测 IE11

在加载网页之前,我会检测浏览器和版本以确定兼容性。因此,如果浏览器低于IE7,我会显示一条不兼容的消息。在IE11中测试网页,我的网页显示不兼容的消息。我目前正在从以下位置获取浏览器名称:varbrowser=Request.Browser.Browser;和来自的版本varversion=Request.Browser.Version;然后我检查浏览器是否为IE且版本>=7。我相信IE11的用户代理已经改变。那么使用C#检测浏览器是否>=IE7的最佳方法是什么。编辑:Request.Browser.Browser返回浏览器名称,例如IE。Request.Browser.Version

c# - MessageBox.Show() 是否自动编码到 UI 线程?

我通过ThreadPool.QueueUserWorkItem启动一个线程,其中有一个消息框对话框:System.Windows.Forms.DialogResultdr=System.Windows.Forms.MessageBox.Show("wouldyouliketodownloadupgradeinbackground?..","UpgradeAvailable",MessageBoxButtons.YesNo);它似乎工作正常,但我有点怀疑,因为一些客户表示他们没有收到弹出的消息。我在.NETFramework2.0+中感觉您不需要编码这个特定的调用,它会为您完成。正确吗?

c# - 使用 .net 学习多线程的好资源?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion谁能给我指点一个关于.net多线程的好网站/书籍/文章?我没有找到太多关于这个的信息......谢谢

c# - 异常处理——显示错误发生的行号?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Showlinenumberinexceptionhandling谁能告诉我如何获取发生错误的代码的行号并将其显示到控制台?文件名或方法名等其他信息会非常方便。

c# - 为什么不无缘无故地使用 thread.sleep,并向程序员解释

在我们的项目中传递代码时,我遇到了一个web方法,它的末尾有这段代码:thread.sleep(6000);returntrue;现在,这样做是为了延迟来自客户端的jQueryajax调用,并且ajax动画将显示更长的时间。在我看来这是非常错误的。UI和服务器端之间不应该有这种连接。如果他希望动画时间更长,他可以在客户端使用setTimeOut函数。这是我的问题:我如何向程序员解释为什么这是错误的?不仅仅是因为客户端/服务器的事情,还因为为什么要在网站上调用thread.sleep? 最佳答案 延迟时:您正在使用/阻塞线程你正在消耗

c# - 线程,两个线程之间的通信c#

我想知道在两个线程之间实现通信的最佳方式是什么。我有一个生成随机数的线程(类Sender),现在我想要另一个线程(类Receiver)来接收生成的随机数。这是发件人:publicclassSender{publicintGenerateNumber(){//somecodereturnrandomNumber;}}当然在Main函数中我将启动这些线程:staticvoidMain(string[]args){Sender_sender=newSender();Threadthread1=newThread(newThreadStart(_sender.GenerateNumber));

c# - 如何轻松使这个计数器属性线程安全?

我在只有计数器的类中有属性定义,这必须是线程安全的,这不是因为get和set不在同一个锁中,如何做到这一点?privateint_DoneCounter;publicintDoneCounter{get{return_DoneCounter;}set{lock(sync){_DoneCounter=value;}}} 最佳答案 如果您希望以保证DoneCounter=DoneCounter+1不受竞争条件影响的方式实现属性,则不能在属性的实现中完成。该操作不是原子操作,它实际上是三个不同的步骤:检索DoneCounter的值。加1将

C# RabbitMQ 客户端线程安全

ConnectionFactoryfactory=newConnectionFactory{HostName="localhost"};using(IConnectionconnection=factory.CreateConnection())using(IModelchannel=connection.CreateModel()){channel.QueueDeclare("hello",false,false,false,null);for(inti=0;i我有上面的代码,我对线程安全性很好奇。我不确定,但我想ConnectionFactory是线程安全的。但是IConnecti

c# - Thread.CurrentThread.Join() 什么时候有意义?

调用Thread.CurrentThread.Join()的效果是什么,是否/何时调用它有意义? 最佳答案 真的吗CurrentThread.Join()你在真实代码中看到的——我有点怀疑,除非它是一些防止其他线程加入当前线程的hack——或者是它CurrentThread.Join(someTimeout)后者相当于Thread.Sleep(someTimeout)如果您处于GUI/COM情况,除了加入当前线程允许消息泵送继续。 关于c#-Thread.CurrentThread.Jo