请大家提供多线程的详细的文章或示例,非常感谢. http://www.csdn.net/Develop/Read_Article.asp?Id=20695 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ms-help://MS.VSCC/MS.MSDNVS.2052/csref/html/vcwlkThreadingTutorial.htm还有www.codeproject.com上面有很多,我现在上不了,不能给你一个确切的网址,你上去看看先咯先找那些for beginner的看看,应该有很大帮助的 创建多线程应用程序 在.NET和C#中编写一个多线程应用程序将非常得容易。即使对于那些从没有用C#编写过多线程应用程序的初学者,只需遵循以下这些简单的步骤就可以实现目的。 定义名称空间 在.NET中,多线程功能是在System.Threading名称空间中定义的。因此,在使用任何线程类之前,必须定义 System.Threading名称空间。定义方法如下: using System.Threading; 启动线程 System.threading名称空间中的Thread类代表一个线程对象,用这个类对象可以创建新的线程,删除、暂停和恢复线程。 下面的代码使用Thread类创建一个新的线程,然后启动这个线程: thread = new Thread(new ThreadStart( WriteData )); thread.Start(); 其中WriteData是这个线程要执行的一个函数,代码如下: protected void WriteData() { string str ; for ( int i = 0; i<=10000; i++ ) { str = "Secondary Thread" + i.ToString(); Console.WriteLine(listView1.ListItems.Count, str, 0, newstring[]{""} ); Update(); } } 杀死线程 Thread类的Abort方法用于永久地杀死一个线程。但是请注意,在调用Abort方法前一定要判断线程是否还激活,也就是判断thread.IsAlive的值: if ( thread.IsAlive ) { thread.Abort(); } 暂停线程 Thread.Sleep方法用于将一个线程暂停一段时间,代码如下: thread.Sleep(); 设置线程的优先权 我们可以使用Thread类的ThreadPriority属性设置线程的优先权。线程优先权的取值范围是Normal、AboveNormal、BelowNormal、Highest或者Lowest。请看下面的设置代码: thread.Priority = ThreadPriority.Highest; 延迟线程 Thread类的Suspend方法可以延迟一个线程。线程被延迟到调用Resume方法为止。 if (thread.ThreadState = ThreadState.Running ) { thread.Suspend(); } 恢复被延迟的线程 调用Resume方法可以恢复一个被延迟的线程。如果线程没有被延迟,Resume方法就是无效的。 if (thread.ThreadState = ThreadState.Suspended ) { thread.Resume(); } 分享一个简单的资源管理器程序,主要是演示下LINQ在C#开发中的运用 【寻求帮助】关于C#中“内存回收”问题 c#线程级别问题,很有意思小程序,也很有问题 请教一个多线程管理的问题 The type or namespace name 'Travl' could not be found 关于制作软件的问题 TreeView的问题:用localhost访问时显示正常,用127.0.0.1访问显示不正常 高分请教:错误原因,请教语法!~ 怎么订制打包程序啊? 关于user32.dll的问题。 四天攒了40分,问:C#如何和WebBrowser控件交互参数? ??
还有www.codeproject.com
上面有很多,我现在上不了,不能给你一个确切的网址,你上去看看先咯
先找那些for beginner的看看,应该有很大帮助的
在.NET和C#中编写一个多线程应用程序将非常得容易。即使对于那些从没有用C#
编写过多线程应用程序的初学者,只需遵循以下这些简单的步骤就可以实现目的。
定义名称空间 在.NET中,多线程功能是在System.Threading名称空间中定义的。因此,在使用
任何线程类之前,必须定义 System.Threading名称空间。定义方法如下:
using System.Threading;
启动线程 System.threading名称空间中的Thread类代表一个线程对象,用这个类对象可以
创建新的线程,删除、暂停和恢复线程。 下面的代码使用Thread类创建一个新的线
程,然后启动这个线程:
thread = new Thread(new ThreadStart( WriteData )); thread.Start();
其中WriteData是这个线程要执行的一个函数,代码如下:
protected void WriteData() { string str ; for ( int i = 0; i<=10000; i++ ) { str = "Secondary Thread" + i.ToString(); Console.WriteLine(listView1.ListItems.Count, str, 0, new
string[]{""} ); Update(); } } 杀死线程
Thread类的Abort方法用于永久地杀死一个线程。但是请注意,在调用Abort方法
前一定要判断线程是否还激活,也就是判断thread.IsAlive的值:
if ( thread.IsAlive ) { thread.Abort(); }
暂停线程
Thread.Sleep方法用于将一个线程暂停一段时间,代码如下:
thread.Sleep();
设置线程的优先权
我们可以使用Thread类的ThreadPriority属性设置线程的优先权。线程优先权的
取值范围是Normal、AboveNormal、BelowNormal、Highest或者Lowest。请看下面的设
置代码:
thread.Priority = ThreadPriority.Highest;
延迟线程
Thread类的Suspend方法可以延迟一个线程。线程被延迟到调用Resume方法为
止。
if (thread.ThreadState = ThreadState.Running ) { thread.Suspend(); }
恢复被延迟的线程
调用Resume方法可以恢复一个被延迟的线程。如果线程没有被延迟,Resume方法
就是无效的。
if (thread.ThreadState = ThreadState.Suspended ) { thread.Resume(); }