【发布时间】:2011-03-01 02:34:55
【问题描述】:
我创建了一个类库,它有一个查询开放端口的方法,在某些情况下可能需要 3 秒才能完成。如果我要在单独的线程中实现它,是在我的类方法中处理,还是由最高实体(例如主窗体)完成?
您能否提供在类内部处理线程的示例?
[编辑]
这是有问题的方法。
public void QueryOpenPorts(out string[] portNames, out bool[] isOpen)
{
// get valid ports on computer
portNames = QueryPortNames();
// number of ports
int count = portNames.Length;
// initialise isOpen array
isOpen = new bool[count];
// iterate through ports and test connection
for (int i = 0; i < count; i++)
{
using (SerialPort serialPort = new SerialPort(portNames[i]))
{
serialPort.Open();
// port is available
isOpen[i] = true;
}
}
}
【问题讨论】:
-
如果您显示一些代码,我们可以更直接地帮助您。你的图书馆,你的班级,你想叫什么。
标签: c# .net multithreading threadpool