初始化类并稍后在Thread中使用它会创建错误System.AccessViolationException

时间:2019-03-22 12:38:38

标签: vb.net multithreading

我正在使用一个名为DbConn的类库来创建与Access数据库的数据库连接。

我在一个正在运行的线程中启动其中两个此类

Dim thread As New Threading.Thread(Sub() saveDB(sfd.FileName))
thread.IsBackground = True
thread.Start()

Private Sub saveDB(dbpath as String) 
    Dim dbconn1 As New DbConn(databasepath)
    Dim dbconn2 As New DbConn(dbpath)

当我从该类中调用任何函数时,都会收到AccessViolationException

Dim ds As DataSet = dbconn1.SelectCustomQuery(query)

如果我直接执行Sub(不在线程内),则代码将正常执行而不会出现任何错误。我是否必须在类库或线程中进行设置。我知道当我想更改UI元素时,我需要使用委托方法等

0 个答案:

没有答案