成都创新互联网站制作重庆分公司

vb.net什么叫多线程 net 多线程

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

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

创新互联专业为企业提供梅县网站建设、梅县做网站、梅县网站设计、梅县网站制作等企业网站建设、网页设计与制作、梅县企业网站模板建站服务,十余年梅县做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

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

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

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

调用如下:

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

mythread.Start()

***********

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

start 就是让线程运行。

VB中的多线程

定义:

Dim g_ReceiveThread As System.Threading.Thread

创建:

g_ReceiveThread = New System.Threading.Thread(AddressOf ReceiveProc)

开始:

g_ReceiveThread.Start()

结束:

Dim waitStart As Long = My.Computer.Clock.TickCount + 1000 ‘超时

While (g_ReceiveThread.ThreadState System.Threading.ThreadState.Stopped)

If My.Computer.Clock.TickCount = waitStart Then

g_ReceiveThread.Abort()

End If

Application.DoEvents()

End While

多线程 线程池 VB.NET

这个没法做到。原因

1)当你将方法排入线程池队列后,此方法在有线程池线程变得可用时执行。

2)线程池中某个线程的可用与不可用,是由.net 后台决定,用户程序无法控制的

3)正如你观察到的:线程启动的时间不同,有快有慢,这恰恰说明线程池起作用了:线程池的调度试图让程序响应达到最佳。

vb.net的多线程问题为什么两个线程同时开始,导致每次输出结果不同

你真心无聊。

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

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

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

VB.NET中的多线程和委托是什么关系? 能不能给我一个通俗易懂的范例,谢谢

委托,Delegate

就是让你处于这个线程里时,委托另一个线程去执行一些动作

我简单举一个写richtextbox的例子:

////////////////////////////////////////////

'创建一个名为 MySubDelegate 的委托。

Delegate Sub MySubDelegate(ByVal txt As String)

'写信息到富文本主窗口

Private Sub txtW(ByVal txt As String)

Dim msgd As New MySubDelegate(AddressOf Me.txtW1)

Dim arg(0) As Object

arg(0) = txt

Me.Invoke(msgd, arg)

End Sub

'委托指向

Private Sub txtW1(ByVal txt As String)

Me.RichTextBox1.AppendText(txt)

End Sub

/////////////////////

这样,你在多线程应用时,在其他线程里用txtW(str)来写richtextbox,就不会产生错误了。不然,直接垮线程写richtextbox,可能会出现和UI线程的冲突。

你好,是只有VB.NET能多线程,还是所有VB都能实现多线程?

简单回答:

1、当前来说,编程与运行环境合适的情况下,VB.net与VB都有实现多线程的可能。

2、VB、VB.net的最基本的概念,是调用系统的接口进行编程,只要系统提供“多线程”的功能调用,它们就能实现多线程。

3、VB注意于面向用户,面向任务,其高级的一些程序实现需要直接调用win的API,VB实现多线程的例子也可以在网络上搜索到。

一、关于VB、VB.net的相关知识:

1、编程指的是用人类能理解的语言来编写指令集,并通过专用的编译软件或环境来转化这些指令,使得这些指令能让计算机识别,从而控制计算机做人类需要进行的工作。

2、也就是说无论是VB.NET还是VB它们都只是“人类能理解的语言”,它们通过专用的编译软件或环境来转化这些指令,进而操作电脑。

3、进一步特化到VB上去说。VB基于VB的运行库,它的运行库又基于win的API((Application Programming Interface,应用程序编程接口)是一些预先定义的函数),也就是说,VB的很多(多到90%以上)的功能是直接基于调用windows提供的一些基本接口函数。

4、VB.net有什么不同呢,它基于.net运行库。什么 意思?这个意思就是,微软发现win的API不够用了,不好用了,就打算在windows上加装点东西,让它有更多的接口函数。但要注意的是,多数情况下,这些接口比win的API的效率要低一些。在win7及以后的版本的win中,已经自含了.net运行库。

5、顺便说,为什么很多人会发现win7的运行速度看起来要比xp慢呢,个人认为就是因为调用的是.net的接口来实现的,.net就是比API的慢。当然了,.net的功能上要比xp原有的API的功能强。

6、VB与VB.net在语法上是非常近似的,只是因为Visual Studio的版本不同,后期的Visual Studio已不提供简纯的VB了,注意它们的不同主要是后台核心调用的理念上的不同。


分享标题:vb.net什么叫多线程 net 多线程
文章来源:http://cxhlcq.com/article/doohdsj.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部