草庐IT

多线段

全部标签

c# - C# 多线程应用程序可以为每个线程使用单独的 WorkingDirectories 吗?

在C#(.NET)中,在同一应用程序中运行的两个线程是否可以具有不同的“工作文件夹”??据我所知,答案是“否”。我认为WORKINGDIR是由Win32中的PROCESS设置的。我在这里错了吗?根据以下测试代码(以及Win32SetCurrentDirectoryAPI调用),这是不可能的,但是有没有人想出办法让它成为可能?usingSystem;usingSystem.Threading;publicclassTestClass{publicManualResetEvent_ThreadDone=newManualResetEvent(false);publicstaticvoidM

c# - C# 中多线程网络服务器的模式

在设计多线程服务器时,是否有我可以遵循的模板/模式/指南?通过我的谷歌搜索,我在网上找不到任何非常有用的东西。我的程序将启动一个线程以使用TcpListener监听连接。每个客户端连接都将由它自己的IClientHandler线程处理。服务器会将clientHandler.HandleClient包装在委托(delegate)中,调用BeginInvoke,然后不再关心它。我还需要能够干净地关闭监听线程,这是我在网上找不到的很多示例。我假设锁定/AutoResetEvents/线程魔法与异步BeginAceptTcpClient和EndAcceptTcpClient的一些组合会让我到达

c# - 具有多线程或任务的进程队列

我有一个电话消息应用程序,其中有很多消息需要处理。由于电话端口有限,所以消息将被先进先出处理。每条消息都有一个标志“Acknowledge”,指示已处理的消息。它当然被初始化为false。我想将所有消息放入一个队列,然后用多个线程或任务处理它们。publicclassMessageQueue{publicQueueMessageWorkItem{get;set;}publicMessagesMessage{get;set;}publicMessageQueue(){MessageWorkItem=newQueue();Message=newMessages();}publicvoidG

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

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

c# - 执行多线程 foreach 循环的最佳方法

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion我有一个带有foreach的发送电子邮件方法,如下所示:staticvoidMain(string[]args){foreach(varuserinGetAllUsers()){SendMail(user.Email);}}我需要改进那个方法。使用多线程,因为我不想每次为每个用户等待SendMail方法执行。有什么建议吗?谢谢

c# - Entity Framework new transaction is not allowed because there are other threads running in the session,多线程保存

我正在尝试将多线程进程的日志保存在数据库中,但出现以下错误:不允许新事务,因为session中还有其他线程在运行。在每个胎面我都有这个功能:internalboolWriteTrace(IResultresult,stringmessage,bytetype){SPC_SENDING_TRACEtrace=newSPC_SENDING_TRACE(message,Parent.currentLine.CD_LINE,type,Parent.currentUser.FULLNAME,Parent.guid);Context.SPC_SENDING_TRACE.AddObject(trac

c# - nHibernate session 和多线程

我有一个方法有很多使用nHibernatesession的持久性调用,它有效,没问题。但出于多线程原因,我需要重构此方法,从循环内的内容中提取方法。然后我用这个方法创建了一个类。这就像一个正常的重构,但是这个方法调用中的nHibernatesession被破坏了,没有上下文,我没有在任何时候完成它。nHibernate是否存在多线程问题?即使我只执行一个线程,我也会遇到同样的问题。我通过SessionFactory和Façade模式使用nHibernateSession,这意味着,session不是这些对象的字段,它在SessionFactory中是全局的。让它更清晰一点:之前:Met

c# - 多线程 C# 应用程序中的惰性单例

我正在开发一个使用WCFWeb服务的多线程C#应用程序。与web服务的连接将有一个特定的超时时间,我们可以定义该超时时间,超时后它将关闭。我希望使用单例类来存储与Web服务的连接。我正在尝试按如下方式获取实例:CLazySingletonins=CLazySingleton.Instance;stringconnection=CLazySingleton.abc;下面是单例类的代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceLazySingleton{pu

c# - Visual Studio 2015 调试在多线程应用程序中不起作用

在我的项目中,我有大量代码应该在单独的线程上执行而不会阻塞UI。当调试器遇到此代码中的断点时,VS2015会卡住5-10秒。之后,如果我尝试继续调试(通过按StepOver、StepIn或Continue),应用程序会从暂停状态变为工作状态,调试工具正在滴答作响,但什么也没有发生,CPU利用率为0%。如果我然后按BreakAll,“光标”(不知道正确的术语)显示在Application.Run(newForm1());处。在Program.cs中Main()是。由于我是C#的新手,我认为我的多线程方法存在一些问题,但显然无论我尝试什么都会发生-使用async/awaitwithTask

c# - HttpContext.Current 如何在多线程环境中工作?

所以我想知道当(据我所知)asp.net是多线程时,asp.net究竟是如何能够限定静态属性的范围的。一种理论认为ASP.NET人员为每个请求维护一个不同的应用程序域......但这似乎不可行。另一种理论认为,.Current方法查看当前线程,然后使用它在某些哈希表(或其他静态存储机制)中查找http上下文。无论哪种方式,这都是一种看起来非常有用的技术......我想利用它,但绝对不想调试共享状态错误:-/ 最佳答案 它不是每个请求的AppDomain。如果你想使用线程特定的状态,尝试:[ThreadStatic]privatest