vb.net - 启动类并稍后在线程中使用它会创建错误 System.AccessViolationException
问题描述
我正在使用一个名为 DbConn 的类库来创建与访问数据库的数据库连接。
我像这样在一个正在运行的线程中启动其中的两个类
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 元素时,我需要使用委托方法等
解决方案
推荐阅读
- node.js - 在 node.js 中的同一个文件句柄上调用 readFile 两次?
- python - 如何从 PySpark DataFrame 中减去 N 个特定行?
- python - numpy.add.reduce 中的断言
- django - django-coverage 计算覆盖率是否存在错误?
- linux - Bash & awk:尝试在 awk 中使用 bash 脚本争论时出现分段错误
- javascript - Javascript 在事件处理程序中定义一个函数
- excel - 如何在 Excel 中的 sumif 或 sumifs 中引用多个结构化表格
- javascript - 如何使用带有纬度/经度的 TurfJS 进行地理编码?
- python - 删除 .txt 文件中的特殊字符、特定文本和空行
- linux - 如何在jq中的对象内分组