vb.net开启新线程 C#启动线程

VB.net 主线程和新增线程不同时运行怎么办

多线程就是这样的。界面线程是主线程,你这个Form_Load就是运行在主线程上的线程,而Thread1,Thread2是由主线程启动的。这个启动不是线性的。

创新互联主营左云网站建设的网络公司,主营网站建设方案,重庆APP开发公司,左云h5小程序制作搭建,左云网站营销推广欢迎左云等地区企业咨询

主线程只是通知系统,请启动一个线程运行某某函数。

而哪个线程先运行完全在系统决定。甚至可能主线程执行到Thread1.Abort() ,Thread2.Abort()的时候这两个线程都还没有启动起来,所以你会遇到两个变量都是空值这种情况。

VB.net多线程编程问题

你可以在timer前用if判断网络状态,

如断开,可用

threading.Thread.Sleep(10000) ‘当前线程挂起10秒

’可以开一个新线程去读取脱机数据。

如连接,则继续执行。

补充:

dim i as integer

'超过100次退出,避免死循环

for i=0 to 100

try

'ping你的端口

if ‘ok

exit for

else

threading.Thread.Sleep(10000) ‘当前线程挂起10秒

end

Catch ex As Exception

End Try

next

VB.net 如何设计多线程运行

Sub Main()

Dim thr As Thread

For Pi As Integer=0 To 4 //启用5线程

MulParams =Pi vbTab sFile vbTab dFile vbTab 1 vbTab DelN vbTab cr vbTab cg vbTab cb vbTab IndexI

GlobalParamas(pi)=MulParams .Split(vbTab)

thr=New Thread(AddressOf MyMulThreadCaller)

thr.Start() //启动多线程进程

Application.DoEvents

Next

End Sub

vb.net中开一个线程,直到新窗体启动完成

虽然你的想法是在 LoginBtn_Click 事件中将复杂的操作分离出去以减轻UI的负担, 这很好完全没有问题.

但是问题在于 Me.Invoke(dh)这里,若是ChkLogin里面仍然是大规模的操作呢 你的代码就又变成将很复杂的操作扔给了UI, 当然会出现窗体无法拖动的情况了.

解决办法很简单, 很多种. 将ChkLogin()里的操作直接放在DelegateLogin()里面吧 me.invoke仅仅只是做简单的轻量的刷新之类的操作就好了.

希望能帮上你的忙.

vb.net里如何设置多线程?

首先,你把你那些要运行很久的过程。尽量放在一个过程中。

因为线程只能是过程,不能使函数,没有返回值的。

然后,在某个事件下这样写:

**这里我假设你的那个很就的过程叫做 sub aaa()

调用如下:

Dim mythread As New System.Threading.Thread(AddressOf aaa)

mythread.Start()

***********

这样就是定义一个线程,名字叫 mythread,这个线程会运行aaa这个过程。

start 就是让线程运行。


网站名称:vb.net开启新线程 C#启动线程
网站链接:http://scjbc.cn/article/hejjco.html

其他资讯