委托的多线程问题
我写了个通信的程序,发送信息是用委托的方法去异步发送的具体代码大概如下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