运行对象VB.NET的同一实例的线程
在下面的代码片段中,我很想知道更多关于正在发生的事情 假设此代码存在于Windows服务类的OnLoad()方法中,并且MyClass在该Windows服务类的私有属性中声明运行对象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
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:举个例子,确切地说是什么?