草庐IT

Tread多线程

全部标签

c# - 简单的多线程安全日志类

创建简单的多线程安全日志记录类的最佳方法是什么?这样就足够了吗?最初创建日志时如何清除日志?publicclassLogging{publicLogging(){}publicvoidWriteToLog(stringmessage){objectlocker=newobject();lock(locker){StreamWriterSW;SW=File.AppendText("Data\\Log.txt");SW.WriteLine(message);SW.Close();}}}publicpartialclassMainWindow:Window{publicstaticMainW

c# - 线程控制调用

我有一个函数publicvoidShowAllFly(){cbFly.Items.Clear();cbFly.Items.Add("UçuşSeçiniz...");dsFlyTableAdapters.tblFlyTableAdapter_t=newKTHY.dsFlyTableAdapters.tblFlyTableAdapter();dsFly_mds=newdsFly();_mds.EnforceConstraints=false;dsFly.tblFlyDataTable_m=_mds.tblFly;_t.Fill(_m);foreach(DataRow_rowin_m.Ro

c# - ASP.NET 工作线程的大部分事件时间是否都处于阻塞状态?

我正在尝试确定ASP.NET工作线程的角色。我的IIS7安装默认允许最多25个工作线程,否则我会将其设置为1。当用户请求.aspx页面时,我知道该请求将检索工作线程。但是加载该页面上的每个图像是否也占用了一个工作线程?一旦检索到图像,检索它的工作线程是否也负责将其传输给用户(通过blocking-tcp-sockets?)? 最佳答案 让我们来看看对ASPX页面的Web请求对用户及其浏览器的看法。用户将浏览器导航到ASPX页面。在服务器上,IIS将此识别为ASP.NET请求并将其路由到.NET处理程序进行处理,其中包括采用工作线程、

c# - 在非 UI 线程 Silverlight 5 浏览器应用程序中创建 UserControl

我有一个Silverlight5浏览器应用程序。有一个类publicclassActivityControl:UserControl{publicvoidLoadSubControls(){//CreatesOtherUserControls,doescalculationsandisveryslow..Norefactoring..}}我需要创建此类的多个实例并在运行时调用方法LoadSubControls。publicclassBasicContainer:UserControl{publicvoidCreateMultipleActivityControls(){for(inti

Java EasyExcel带格式多线程导出百万数据

JavaEasyExcel带格式多线程导出百万数据1.背景说明2.方案概述(1)大数据量导出问题主要是以下三个地方:(2)将写入导出Excel等功能单独分开成一个微服务:(3)注意:(4)方案设计:标注说明(5)maven依赖:3.详细设计4.缓存5.可行性验证6.代码以下为结合实际情况作的方案设计,导出阈值以及单sheet页条数都可以根据实际情况调整大佬可直接跳过新手教程,直接查看文末代码————————————————————————————————1.背景说明    针对明细报表,用户会选择针对当前明细数据进行导出,便于本地或者线下进行处理或者计算等需求。不过一般在这种大数据量的导出任务

c# - 如何衡量 .NET 中托管线程的性能

我想测量托管(.NET)线程的性能。具体来说,我需要测量以下-线程使用CPU多长时间?它保持阻塞多长时间(等待远程方法调用完成)?使用System.Diagnostic.StopWatch没有帮助,因为它读取操作系统/硬件的高分辨率性能计时器功能,其中可能包括并行运行和共享同一CPU的其他线程消耗的时间。 最佳答案 您可以使用此处描述的方法http://www.codeproject.com/KB/dotnet/ExecutionStopwatch.aspx它使用系统函数GetThreadTimeshttp://msdn.micro

c# - 如何增加 .NET Remoting over TCP 使用的线程数?

我们正在尝试增加.NETRemotingoverTCP使用的线程数。我们已经尝试更改ThreadPool.SetMinThreads,但我们的压力测试表明.NETRemoting只能处理大约100个并发请求。(但这不是硬性限制)。在任务管理器中,我们可以看到我们的RemotingServer进程线程数从11增加到大约80,然后在压力测试后回落到11。我们正在运行ASP.NET4.0应用程序。 最佳答案 总结一下。远程服务器由Windows服务托管,远程客户端由IIS托管。要执行压力测试,您可以使用ApacheBench,它调用调用远

c# - 防止两个线程进入具有相同值的代码块

假设我有这个函数(假设我以线程安全的方式访问缓存):objectGetCachedValue(stringid){if(!Cache.ContainsKey(id)){//longrunningoperationtofetchthevalueforidobjectvalue=GetTheValueForId(id);Cache.Add(id,value);}returnCache[id];}我想防止两个线程同时为相同的值运行“长时间运行的操作”。显然我可以将整个事情包装在一个lock()中,但是无论值如何,整个函数都会阻塞,我希望两个线程能够执行长时间运行的操作,只要它们正在寻找不同的

c# - c#中多线程和异步程序的区别

我最初在Stackoverflow和谷歌中搜索过类似的问题。只有一个链接给出了一些要点,但我看不清楚。[1]以下问题困扰着我:在异步编程中,什么是真正的回调方法?是代表?异步程序的实现是使用多线程吗?如能提供图解说明,将不胜感激[1]"DifferencebetweenMultithreadingandAsynchronousprogramming" 最佳答案 单线程阻塞要理解异步/并发/多线程,我们需要从最基础的知识开始,以及为什么我们要让问题变得如此复杂。一开始只有真正的单线程阻塞应用程序。这些都是非常简单的程序,而且很可能就是

c# - C#中的跨线程事件处理

我正在使用一个在单独的线程中运行自己的事件调度程序的框架。该框架可能会生成一些事件。classSomeDataSource{publiceventOnFrameworkEvent;voidFrameworkCallback(){//Thisfunctionrunsonframework'sthread.if(OnFrameworkEvent!=null)OnFrameworkEvent(args);}}我想将这些事件传递给Winforms线程上的Winforms对象。我显然检查了InvokeRequired并在必要时将其分派(dispatch)给Winforms线程。classSome