了解C#中的线程

时间:2018-07-12 13:26:22

标签: c# multithreading

我正在学习C#中的线程。当我编写一些代码时,我学会了暂停线程,我应该调用Thread.Sleep()函数。它将在我作为参数传递的时间内暂停线程。

但是要中止或启动线程,我需要使用

Thread.CurrentThread.Abort()
Thread.CurrentThread.Start()

CurrentThread也是Thread。所以,我期待这样的事情

Thread.Sleep()
Thread.Start()
Thread.Abort()

Thread.CurrentThread.Abort()
Thread.CurrentThread.Start()
Thread.CurrentThread.Sleep()

为什么不同?这背后的原理是什么?

我不确定这是不是一个有效的问题。如果您认为这是一个无效的问题,请告诉我,我将删除此问题。

1 个答案:

答案 0 :(得分:3)

Abort()Start()是类Thread的实例方法。您可以使用它们与外部的现有Thread实例进行交互,例如主线程。

Sleep()是静态方法。您可以在运行线程的上下文中调用它,以使其暂停。