回调函数和相关代码 究竟在哪个线程中执行?

GoodShot 2011-01-21 07:16:56
异步调用中,回调函数是执行在单独的线程中,还是和异步调用(函数.begin****( ))函数之后的代码一起在另一个单独的线程中执行呢

例如
void fun()
{
eventwailhandle ewh=new eventwaithandle(false,)
...
client.beginconnect(bytes,bytes.length,callback,object)
ewh.waitone();-----1

...
}

callback(IAsynResult ar) -----2
{
client=(tcpclient)ar;
client.endconnect(ar);

}
中1和2是在一个线程中运行,还是2在单独的线程中运行,1在fun()函数所在的线程中运行
...全文
705 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2011-01-21
  • 打赏
  • 举报
回复
MessageBox.Show(System.Threading.Thread.CurrentThread.ManagedThreadId.ToString());

xingyuebuyu 2011-01-21
  • 打赏
  • 举报
回复
Console.WriteLine(System.Threading.Thread.CurrentThread.ManagedId.ToString());

分别在1和2中调用看ID是否相同

http://topic.csdn.net/u/20071215/03/bd7eaa46-74f7-49c4-9b48-7cfb5798acc0.html
GoodShot 2011-01-21
  • 打赏
  • 举报
回复
另外,有什么办法能够看到这两个代码(回调函数和ewh.waitone())是在哪个线程中运行呢

调试?工具?

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧