多线程采集到一定数据量卡住不动,贴代码求助大神

yeweit6 yeweit6 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
                
foreach (string url in queue) //遍历,线程池
{
ThreadPool.QueueUserWorkItem(new WaitCallback(CheckFile), url);
}


void CheckFile(object url) //数据传入
{
foreach (string str in filenameArr)
{
try
{
string strUrlFile2 = UriFile(url.ToString(), str);
toollblUrl.Text = strUrlFile2;
HttpWebResponse response = Com.WebResponse(strUrlFile2);
if (response.StatusCode == HttpStatusCode.OK && response.ContentLength > int.Parse(txtSize.Text) * 1024 && response.ContentType.ToLower() != "text/html")
{
txtResult.Text += response.ResponseUri + response.Server + response.Method + response.StatusCode + response.ContentLength + "\r\n";
File.AppendAllText(path + "Data\\success.txt", DateTime.Now + "\t" + response.ResponseUri + "\t" + response.ContentLength.ToString() + "\r\n");

}
}
catch (Exception ex)
{
//textBox2.Text += ex.Message + "\r\n";
}

}

public static HttpWebResponse WebResponse(string strUrlFile)
{
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrlFile);
req.Method = "HEAD";
req.Timeout = 3000;
req.ProtocolVersion = HttpVersion.Version11;
req.AllowAutoRedirect = false;
req.Accept = "*/*";
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
return res;
}
catch (Exception)
{
}
return null;
}
...全文

相关推荐

电脑开机后卡住不动.docx

。。。

若♡

MFC多线程实时采集数字量信号:工控上位机开发实战指南

在工业自动化与数据采集监控(SCADA)系统中,实时、稳定地获取数字量输入(DI)信号是核心基础。其原理在于通过周期性轮询或中断响应,将物理开关量转换为计算机可处理的二进制数据。这项技术的价值在于构建了连接现场设备与上位机监控的桥梁,是实现设备状态可视化、流程控制与预警的关键。在应用层面,它广泛服务于工业PC、工控机及各类基于Windows的监控终端。本文聚焦于如何在经典的MFC框架下,运用工作者线程与消息通信机制,构建一个高效、解耦的实时采集架构,并深入探讨了从信号模拟到真实硬件(如研华IO卡)接入的迁移

七231fsda月

Qt多线程串口通信框架:基于MoveToThread的工业数据采集实践

在工业自动化与嵌入式开发中,串口通信是连接上位机与下位机(如PLC、传感器)的基础技术。其核心原理是通过串行接口进行数据交换,但直接在主线程中进行阻塞式读写操作会严重影响GUI响应,导致数据丢失。为解决此问题,多线程编程成为关键技术,通过将耗时IO任务与界面渲染分离,可显著提升系统实时性与稳定性。Qt框架的信号槽机制与线程管理为构建生产者-消费者模型提供了优雅方案,其中MoveToThread模式能确保对象在其所属线程中被安全操作,是实现线程间通信的最佳实践。本文聚焦于Windows平台下基于Qt的串口通信

大厂男孩的粉丝

安装.NET Framework进度条卡住不动的解决方案(推荐)

VS在安装之前需要安装.NET Framework,我安装的是4.0版本。但是安装进度条到一半左右时就卡住不动了。前前后后重试多次,还有几次重新开机,但都没用,怎么解决呢,下面给大家分享下解决方案

weixin_38740130

电脑开机后卡住不动.pdf

。。。

若♡
评论 12
收藏 已收藏
分享
返回顶部
yeweit6
C# 111,129 成员 642,539 内容