【发布时间】:2012-04-05 06:37:18
【问题描述】:
我在一个函数中有一个线程来启动实时监控,它基本上是打开串口并不断从串口读取数据。但是,如果我需要终止这个线程,我应该怎么做呢?因为如果我不终止打开特定串口并读取数据的正在运行的线程。当我关闭它并再次调用该函数时。同一个串口打不开。我怀疑串口没有正确关闭,并且仍在单独的线程中运行。所以我认为我必须终止该线程以便下次再次打开相同的串行端口。有谁知道如何实现这一目标?
我看到一些论坛说 Thread.Abort() 使用起来很危险。它应该只在最后的手段下使用。
感谢您的帮助。
查尔斯
【问题讨论】:
-
您将需要以使线程优雅地终止的方式来构造您的代码。如果您发布一些代码(线程正在执行的代码)...提供有用的答案会更容易。
标签: c# multithreading