VB.NET中如何创建多个任务(每个任务一个线程),窗体上有一个listview 50

每个任务完成后,listview添加一行,但是多线程在对同一个控件操作的时候就会出错,求大神解答。有简单的实例就更好了。... 每个任务完成后,listview添加一行,但是多线程在对同一个控件操作的时候就会出错,求大神解答。有简单的实例就更好了。 展开
 我来答
百度网友ade7f452c
2017-02-15 · TA获得超过565个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:397万
展开全部

多线程操控同一个空间容易出现混乱,可通过SyncLock语句,将对空间的操作添加至lock语句内部,

  Class simpleMessageList
        Public messagesList() As String = New String(50) {}
        Public messagesLast As Integer = -1
        Private messagesLock As New Object
        Public Sub addAnotherMessage(ByVal newMessage As String)
            SyncLock messagesLock
                messagesLast += 1
                If messagesLast < messagesList.Length Then
                    messagesList(messagesLast) = newMessage
                End If
            End SyncLock
        End Sub
    End Class

参考:https://msdn.microsoft.com/zh-cn/library/3a86s51t.aspx

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式