网站建设资讯

NEWS

网站建设资讯

包含vb.net同时运行的词条

vb.net 不用多线程如何同时运行两个过程?

不用多线程?

网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了邵原免费建站欢迎大家使用!

即使用多线程,也不会是“同时”执行,题主只要略懂一些计算机编译原理就能明白了。

不用多线程更不可能让两个过程同步执行了。

不过可以提供一个折衷的法子,示例如下:

Sub a()

'过程一 

End Sub 

Sub b()

'过程二

End Sub

Sub Timer1_Tick() '简写了,实际在VB.NET里不是这样的

Timer1.Enabled = False 

a()

End Sub     

Sub Button1_Click() '同样简写

Timer1.Enabled = True

b()

End Sub

利用了一个 Timer 控件,实现了这种伪同步(其实还是异步),a()、b() 两个过程相互独立切能并发运行。

注意:上述代码需要先把 Timer1 的 Enabled 属性设置为 False,Interval 属性要尽可能小。

vbnet同时执行多个任务

题主是否想询问“vbnet同时执行多个任务怎么实现”?多线程操作。vbnet同时执行多个任务通过多线程操作实现,Visual Basic.net,属于计算机软件领域,是计算机中实现网络功能的编程语言。

vb.net如何让两个窗体并发运行

Imports System.Threading

Public Class Form1

Dim t1, t2 As Thread

Dim tt1

Private Delegate Sub voiddelegate(ByVal i As Integer)

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Form2.Show()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

t1 = New Thread(AddressOf test)

tt1 = 1

t1.Start()

tt1 = 2

t2 = New Thread(AddressOf test)

t2.Start()

' Timer1.Start()

End Sub

Private Sub updateui(ByVal i As Integer)

Form2.Label1.Text = i.ToString

Form2.Label2.Text = i.ToString

End Sub

'把循环放到线程中运行会好一些,其实主要事务是对窗体控件的操作时多线程意义不大,因为访问窗体的代码依然要在窗体线程中运行。

Private Sub test()

Dim d As voiddelegate = AddressOf updateui

For i = 0 To 9000

Me.Invoke(d, i)

Next

End Sub

'如果放在计时器中运行效果好的多

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Static i As Integer = 0

i += 1

If i 9000 Then Timer1.Stop() : i = 0

Form2.Label1.Text = i.ToString

Form2.Label2.Text = i.ToString

End Sub

End Class

'如果在另一线程中用Application.run 打开窗体确实能行,不过窗体间相互操作不起作用,这个尚待研究中。


当前标题:包含vb.net同时运行的词条
网址分享:http://cdweb.net/article/hddpgh.html