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

委托的多线程问题

我写了个通信的程序,发送信息是用委托的方法去异步发送的具体代码大概如下

Private Delegate Function AsyncSendData(ByVal aBytes() As Byte) As Boolean '定义一个委托

Public sub SendData() '调用委托,异步执行
   Dim caller As AsyncSendData
   caller = New AsyncSendData(AddressOf SendDataAction)
   Dim ar As IAsyncResult = caller.BeginInvoke(aBytes, Nothing, Nothing)
End sub

Friend Function SendDataAction(ByVal aBytes() As Byte) As Boolean '发送信息函数
   SyncLock m_oSync
      ...发送信息的代码(略)
   End SyncLock
End Function

我出现的问题是:
刚开始的时候还可以执行,但到了发送信息次数开始频繁的时候,SendDataAction函数就没有执行到了。我是通过分别在SendData和SendDataAction两个过程里加断点发现它执行了SendData,但没有执行SendDataAction的。到底什么原因导致没有执行到SendDataAction呢? --------------------编程问答-------------------- 可能不是没有执行,而是其它的操作还未完成使得系统变慢。 --------------------编程问答-------------------- 已经等了好久了,1个小时也没有反映。
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,