当前位置:编程学习 > C#/ASP.NET >>

有没有办法对委托的线程进行命名?

我在程序中有如下代码:

Sub New()
    Dim 连接委托 As Threading.TimerCallback
    Dim 委托 As Threading.Timer
    连接委托 = New Threading.TimerCallback(AddressOf 某线程)
    委托 = New Threading.Timer(连接委托, 连接字符串, 0, -1)
End Sub


 Private Sub 某线程()
'(想在此处对线程进行命名)
'线程中有使用 委托.Change 方法
:
End Sub

现在的问题是在调试中只能见到有编号无名称的线程名称,如下图:
能不能在线程中对本线程进行命名以方便调试?
线程 委托 命名 --------------------编程问答-------------------- 各位高手帮帮忙,在线等! --------------------编程问答-------------------- --------------------编程问答--------------------
引用 楼主 drowsihead 的回复:
我在程序中有如下代码:

Sub New()
    Dim 连接委托 As Threading.TimerCallback
    Dim 委托 As Threading.Timer
    连接委托 = New Threading.TimerCallback(AddressOf 某线程)
    委托 = New Threading.Timer(连接委托, 连接字符串, 0, -1)
End Sub


 Private Sub 某线程()
'(想在此处对线程进行命名)
'线程中有使用 委托.Change 方法
:
End Sub

现在的问题是在调试中只能见到有编号无名称的线程名称,如下图:
能不能在线程中对本线程进行命名以方便调试?

--------------------编程问答-------------------- Private Sub 某线程()
'(想在此处对线程进行命名)
'线程中有使用 委托.Change 方法
:
End Sub

是对 “某线程” 命名?还是同一个线程,多次调用时候内部标识? --------------------编程问答-------------------- 如果100个线程
dim name(100) as boolean '全定义为 False
调用时:
Private Sub 某线程()
'(想在此处对线程进行命名)
name(i)=True  '此处作为标识?
'线程中有使用 委托.Change 方法
:
End Sub 
最后你就可以判断调用那个线程的状态了
--------------------编程问答--------------------
引用 5 楼 vszys 的回复:
如果100个线程
dim name(100) as boolean '全定义为 False
调用时:
Private Sub 某线程()
'(想在此处对线程进行命名)
name(i)=True  '此处作为标识?
'线程中有使用 委托.Change 方法
:
End Sub 
最后你就可以判断调用那个线程的状态了


也算是个办法。但我希望的是对线程直接命名,可以在工具栏的线程标签上有提示。
普通线程是可以命名的。如下:

 Dim t As Threading.Thread
 t = New Threading.Thread(AddressOf  某线程)
 t.Name = "线程名称"      

但Threading.TimerCallback类型好像不行。
--------------------编程问答--------------------
引用 6 楼 drowsihead 的回复:
Quote: 引用 5 楼 vszys 的回复:

如果100个线程
dim name(100) as boolean '全定义为 False
调用时:
Private Sub 某线程()
'(想在此处对线程进行命名)
name(i)=True  '此处作为标识?
'线程中有使用 委托.Change 方法
:
End Sub 
最后你就可以判断调用那个线程的状态了


也算是个办法。但我希望的是对线程直接命名,可以在工具栏的线程标签上有提示。
普通线程是可以命名的。如下:

 Dim t As Threading.Thread
 t = New Threading.Thread(AddressOf  某线程)
 t.Name = "线程名称"      

但Threading.TimerCallback类型好像不行。

另外线程的数量也不是固定的。会动态生成。有时会并发大量线程。 --------------------编程问答-------------------- 你可以试试 Thread.CurrentThread.Name 
但我不确定线程启动后是否还能设置,而且如果我没记错的话线程池里的线程不能重名,你可能需要自己管理这些线程的命名确保每个线程有唯一的名称 --------------------编程问答--------------------
引用 8 楼 iyomumx 的回复:
你可以试试 Thread.CurrentThread.Name 
但我不确定线程启动后是否还能设置,而且如果我没记错的话线程池里的线程不能重名,你可能需要自己管理这些线程的命名确保每个线程有唯一的名称


 Dim 连接委托 As Threading.TimerCallback
    Dim 委托 As Threading.Timer

没有可命名的属性
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,