我正在学习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()
为什么不同?这背后的原理是什么?
我不确定这是不是一个有效的问题。如果您认为这是一个无效的问题,请告诉我,我将删除此问题。
答案 0 :(得分:3)
Abort()
和Start()
是类Thread
的实例方法。您可以使用它们与外部的现有Thread
实例进行交互,例如主线程。
Sleep()
是静态方法。您可以在运行线程的上下文中调用它,以使其暂停。