C#调用类中线程的值
时间: 2024-12-13 16:21:36 浏览: 9
在 C# 中,当你在类中创建并启动一个新的线程时,通常会将线程封装在一个单独的实例里,然后你可以通过成员变量来访问或改变线程的状态。假设你有一个名为 `MyThread` 的类,其中包含一个 `private Thread thread;` 成员变量,用于存储线程实例,并有一个公共方法 `StartMethod()` 来启动线程:
```csharp
public class MyThread
{
private Thread myThread;
public void StartMethod()
{
myThread = new Thread(DoWork);
myThread.Start(); // 启动线程
}
private void DoWork()
{
// 这里是你线程的业务逻辑,可以访问的值可以通过 this关键字
int valueToModify = this.GetValueFromSomewhere();
// 更新线程内部状态
// ...
}
// 假设有一个公共方法获取值
public int GetValueFromSomewhere() { return someValue; }
}
```
在这个例子中,外部代码可以通过 `myThread.IsAlive` 检查线程是否还在运行,或者通过 `GetValueFromSomewhere()` 获取线程需要的值。但是要注意,由于线程执行是异步的,更新值可能不会立即反映在线程中,除非你在 `DoWork` 方法中进行了适当的同步。
阅读全文