惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
MyScale Blog
MyScale Blog
Recent Announcements
Recent Announcements
N
Netflix TechBlog - Medium
GbyAI
GbyAI
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
Martin Fowler
Martin Fowler
腾讯CDC
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
J
Java Code Geeks
WordPress大学
WordPress大学
P
Proofpoint News Feed
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog

博客园 - 淡泊江湖

[原]每日头条(200709)——自有新视角:一条热点新闻、一项业界动态、一个另类点子……,关注我们的社会、关注我们的行业、关注我们的思想 [原]TerryLee“ASP.NET AJAX入门系列”源代码发布! [转]C#编程规范 [转]袁红岗的编程感悟(搜藏) - 淡泊江湖 - 博客园 [原]IE7安装后的初步感受:IE的是是非非(更新:诸多原因,最终卸载) [转]我对J2EE和.NET的一点粗陋理解(搜藏) [转]我的IT学习生活(搜藏) [转]程序员的十种级别,看看你属于哪一种?(搜藏) [转]一篇感人肺腑的、真实的人生独白, 同行们不得不读的文章!(搜藏) [转]集成技术:.NET单挑J2EE [转]每个.Net开发人员应该下载的十种必备工具 [转]网页设计中的功能与美化(搜藏) [原]DataTable性能问题 [转]写Java 程序最容易犯的21 种错误实例分析(搜藏) [转]Java代码编写的30条建议(搜藏) [原]"LM/w3svc/1/root /***" 别名已存在 错误解决方法(搜藏) - 淡泊江湖 [转]浅谈数据库设计技巧(上)、(下)(搜藏) 2006年德国世界杯(第22天)——送别心目中的英雄们!!! 2006年德国世界杯(第13、14天)——送走心目中的英雄!
[实践篇]+[转]用C#实现HTTP协议下的多线程文件传输
淡泊江湖 · 2007-08-09 · via 博客园 - 淡泊江湖

今天看到一篇关于“多线程”的例子,感觉比较形象,于是动手操作了一下。

原文出处:http://dev.21tx.com/2006/07/05/11760.html

由于之前自己看到的没有图片,于是就是凭文字介绍按部就班地实践了一下;故有点差异,有兴趣地话自己也可以动手完善一下。

源代码下载地址:https://files.cnblogs.com/zzc315/httpftp_20070808.rar

我的开发环境是:Microsoft Visual Studio 2005;故和作者的开发环境(Visual Studio

.net 2002开发环境及Windows xp 操作系统)有所差异,遇到:

资料参考:http://msdn2.microsoft.com/zh-cn/library/ms171728(VS.80).aspx#Mtps_DropDownFilterText

解决方法:
         //Form1.cs
        delegate void SetListBoxCallback(string listBox);
         ……         
        public void SetListBox(string listBox)
        {
            // InvokeRequired required compares the thread ID of the
            // calling thread to the thread ID of the creating thread.
            // If these threads are different, it returns true.
            if (this.listBox1.InvokeRequired)
            {
                SetListBoxCallback d = new SetListBoxCallback(SetListBox);
                this.Invoke(d, new object[] { listBox });
            }
            else
            {
                this.listBox1.Items.Add(listBox);
            }
        }

         //HttpFile.cs         
         //formm.listBox1.Items.Add("线程" + threadh.ToString() + "开始接收");
         formm.SetListBox("线程" + threadh.ToString() + "开始接收");

         1.最近在看一些“多线程”方面的基本知识,感觉这个例子比较经典,且比较有趣,所有和大家分享一下;
         2.如有学习“多线程”方面好的建议或意见,或相关资料,感谢大家一同来探讨学习。