大可山博客[GDI+,WPF, .Net图形图像]

WPF,WinForms,asp.net开发,图形图像处理系统研究 (Johnson Blog)      [信奉:凡事靠自己] MSN:a3news(at)hotmail.com QQ:329325120

原创 有趣的多线程编程(2)——线程中的参数传递收藏

使用类、类的方法或类的属性都可以向线程传递参数:
public
class UrlDownloader { string url; public UrlDownloader (string url) { this.url = url; } public void Download() {
WebClient wc = new WebClient();
Console.WriteLine("Downloading " + url); byte[] buffer = wc.DownloadData (url); string download = Encoding.ASCII.GetString(buffer); Console.WriteLine(download); Console.WriteLine("Download successful.");
//这里你可以将download进行保存等处理...... } } [... 在另一个类中使用它们...] UrlDownloader downloader = new UrlDownloader (yourUrl); new Thread (new ThreadStart (downloader.Download)).Start();
注意参数是如何传递的。
在.NET 2.0中还可以这样:
(CODE-BESIDE)
方式一:
ThreadStart starter = delegate { Download(yourUrl); });
new Thread(starter).Start();
//使用线程池
WaitCallback callback = delegate (object state) { Download ((string)state); };
ThreadPool.QueueUserWorkItem (callback, yourUrl);
方式二(使用ParameterizedThreadStart):
Thread t = new Thread (new ParameterizedThreadStart(DownloadUrl));
t.Start (myUrl);

static void DownloadUrl(object url)
{
    // ....
}

发表于 @ 2006年01月27日 11:13:00|评论(loading...)

新一篇: 有趣的多线程编程(3)——线程内部是如何进行的? | 旧一篇: 有趣的多线程编程(1)——一个简单的例子

用户操作
[即时聊天] [发私信] [加为好友]
大可山(Johnson)
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
大可山(Johnson)的公告
MSN:a3news(at)hotmail.com,从2007年8月8日起笔名改为:大可山(以前叫阿山Net)
Q:329325120
引用本人原作,请注明出处。
文章分类
收藏
软件开发
你的灯亮着吗?(RSS)
图书出版
大溪水的博客(RSS)
图形图像
C#新型报表工具 XDesigner(RSS)
存档
软件项目交易
Csdn Blog version 3.1a
Copyright © 大可山(Johnson)