Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在VB.NET中使用多线程概念和死锁概念_C#_Vb.net - Fatal编程技术网

C# 如何在VB.NET中使用多线程概念和死锁概念

C# 如何在VB.NET中使用多线程概念和死锁概念,c#,vb.net,C#,Vb.net,我将连接来自多台机器的一个数据库。在所有机器中,它们都需要在单个表中插入数据。那时:如何使用多线程和死锁概念?使用MySQL数据库和MS Access。如果您谈论的是SQL server(MySQL),那么线程安全性不是您的问题。很难说出你在说什么。多了解一点就好了 避免这些问题的最简单方法是使用适当的锁定/编码技术: 例如: 更新字段中的值使用: UPDATE table SET data=data+23 WHERE id=7 而不是 @data = SELECT data FROM tab

我将连接来自多台机器的一个数据库。在所有机器中,它们都需要在单个表中插入数据。那时:如何使用多线程和死锁概念?使用MySQL数据库和MS Access。

如果您谈论的是SQL server(MySQL),那么线程安全性不是您的问题。很难说出你在说什么。多了解一点就好了

避免这些问题的最简单方法是使用适当的锁定/编码技术:

例如:

更新字段中的值使用:

UPDATE table SET data=data+23 WHERE id=7
而不是

@data = SELECT data FROM table WHERE id=7
@data = @data + 23
UPDATE table SET data=@data WHERE id=7

或者使用事务,这实际上取决于您正在尝试做什么。如果你想稍微检查一下你的问题,我可以试着给你举更多的例子。

这个问题很模糊。如果.NET应用程序正在使用SQLs,则数据库事务将处理并发问题。由于您正在执行INSERT,因此可以锁定表,但强烈建议不要这样做。从客户端的角度来看,没有必要处理m线程和死锁。您不使用死锁概念,而是尝试避免它们。。。