1
5
对于.NET 1.1,没有直接的方法,只能使用同时具有 the method and the state ,在此示例中(从msdn示例修改),将实例化threadstate类并传递所需状态,然后调用其方法并使其使用传递状态。
对于.NET>1.1(原始问题未说明版本。) 在start方法中传递参数。您将收到一个需要转换回正确类型的对象。
或者,或者使用 ParameterizedThreadStart 代表。 |
2
2
.NET 1.1(2003)中不存在ParamatedThreadStart委托,线程也不存在。Start在1.1中获取对象参数。不过,您可以尝试以下方法:
dict[mythread.name]=myval;//dict是一个类范围变量。
|
3
1
有多种方法可以做到这一点。一种是使用 ParameterizedThreadStart 委托,它允许向线程传递类型为对象的单个参数。将视图方法更改为接受对象,然后在方法内将对象强制转换为字符串。 |
4
0
创建一个类,将属性设置为参数,并运行该类的相关函数。
或者需要使用全局范围变量。不幸的是.NET 1.1没有其他方法 |
5
0
Vinko提供的第一个代码片段正是您在.NET 1.x下所需要的,因为原始线程命名空间没有提供任何内置的参数化机制。 因此,您创建了一个状态类,其中包含您需要的数据,以及将用于“new thread()”语句中委托的方法,如vinko所示。 我正要拿出一个样本,然后我看到了他的样本代码。如果它“不起作用”,那么就有必要明确说明原因,因为从肉眼看,代码看起来太熟悉了。 其中一个“旋转”是为了正确封装线程结构以及线程启动/连接行为。 另一个选项是使用threadpool.queueUserWorkItem(),这与实际情况不完全相同,如果使用过度,可能导致threadpool性能不佳。 另一个选项是创建一个在信号上被阻塞的线程,例如在初始化数据成员时设置的manualResetevent。目标数据成员可以像上面所示的对象引用一样简单,也可以使用ArrayList、Queue或Stack对象(具有适当的锁定)来实现一种“队列处理器”,其中工作项可以由专用线程排队和处理,并且专用线程保持休眠(阻塞等待信号),直到有工作要做。 |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |