C#有没有多线程

luobing261314 2011-10-24 10:40:00
C#有没有多线程
怎么用的
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
forever9918 2011-10-24
  • 打赏
  • 举报
回复
public Thread (
 ThreadStart start
) ;

  参数

  start ThreadStart 委托,它将引用此线程开始执行时要调用的方法。

  Thread还提供了其他的构造函数来创建线程,这里就不一一介绍了。表01是Thread类中的一些常用的方法及其简要说明:

方法 说明
Abort 调用此方法通常会终止线程,但会引起ThreadAbortException类型异常。
Interrupt 中断处于WaitSleepJoin 线程状态的线程。
Join 阻塞调用线程,直到某个线程终止时为止。
ResetAbort 取消当前线程调用的Abor方法。
Resume 继续已挂起的线程。
Sleep 当前线程阻塞指定的毫秒数。
Start 操作系统将当前实例的状态更改为ThreadState.Running。
Suspend 挂起线程,或者如果线程已挂起,则不起作用。
              表01:Thread类的常用方法及其说明

  这里要注意的是在.Net中执行一个线程,当线程执行完毕后,一般会自动销毁。如果线程没有自动销毁可通过Thread中的Abort方法来手动销毁,但同样要注意的是如果线程中使用的资源没有完全销毁,Abort方法执行后,也不能保证线程被销毁。在Thread类中还提供了一些属性用以设定和获取创建的Thread实例属性,表02中是Thread类的一些常用属性及其说明:

属性 说明
CurrentCulture 获取或设置当前线程的区域性。
CurrentThread 获取当前正在运行的线程。
IsAlive 获取一个值,该值指示当前线程的执行状态。
IsBackground 获取或设置一个值,该值指示某个线程是否为后台线程。
Name 获取或设置线程的名称。
Priority 获取或设置一个值,该值指示线程的调度优先级。
ThreadState 获取一个值,该值包含当前线程的状态。
             表02:Thread类的常用属性及其说明

xkx2003 2011-10-24
  • 打赏
  • 举报
回复
一个实例


for (int i = 1; i <= 10; i++)
{
CarProcess process = new CarProcess();
Thread multhread = new Thread(process.CarMain);
multhread.Start();
}

fangyuantdy 2011-10-24
  • 打赏
  • 举报
回复
有啊,Thread

62,040

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧