Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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
运行对象VB.NET的同一实例的线程_.net_Vb.net_Multithreading_Addressof - Fatal编程技术网

运行对象VB.NET的同一实例的线程

运行对象VB.NET的同一实例的线程,.net,vb.net,multithreading,addressof,.net,Vb.net,Multithreading,Addressof,在下面的代码片段中,我很想知道更多关于正在发生的事情 假设此代码存在于Windows服务类的OnLoad()方法中,并且MyClass在该Windows服务类的私有属性中声明 MyClass.Process1Method and MyClass.Process1 Dim process1 As System.Threading.Thread Dim process2 As System.Threading.Thread Dim ts As System.Threading.ThreadStart

在下面的代码片段中,我很想知道更多关于正在发生的事情

假设此代码存在于Windows服务类的OnLoad()方法中,并且MyClass在该Windows服务类的私有属性中声明

MyClass.Process1Method and MyClass.Process1
Dim process1 As System.Threading.Thread
Dim process2 As System.Threading.Thread
Dim ts As System.Threading.ThreadStart
ts = AddressOf MyClass.Process1Method
process1 = New System.Threading.Thread(ts)
process1.Start()
ts = AddressOf MyClass.Process2Method
process2 = New System.Threading.Thread(ts)
process2.Start()
还假设Process1Method和Process2Method都访问MyClass的一些相同的私有属性

所以我的问题是,如果您还没有猜到,process1和process2线程是否会同时争夺MyClass的相同属性值?你能解释一下这是怎么回事吗

如果需要更多的澄清,我会尽我所能,
谢谢。

好的。欢迎来到编写线程安全代码的痛苦世界@SLaks我的问题你不会碰巧得到最新的答案,你会吗:在Node.js world和.NET之间切换,我理解为什么显式线程代码更强大、更灵活,但对于许多任务,Node.js中线程的简单性,我的代码是单线程的,但IO是在单独的线程上自动处理的,这就足够了。@Brad:只使用异步(
Task
-returning)方法,而不使用任何实际的线程。您将需要一个事件循环(带有synccontext);您可以使用一个UI线程,也可以使用几个开源事件循环库中的一个。@SLaks您愿意就我的问题的答案发布一个小示例吗?我很乐意赏金。。。如果你在这个地区,给你买啤酒。@Brad:举个例子,确切地说是什么?