
正文
vb.net的多线程技术 vbnet多线程编程
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
你好,是只有VB.NET能多线程,还是所有VB都能实现多线程?
1、纯VB中只能模拟多线程,不能真正多线程(即使用多个ActiveX,在每个里面运行一个线程,以此模拟多线程环境)。 如果要多线程,多是使用C++等支持多线程的语言编写好组件,给VB调用。
2、方法 1 : CreateThread 不用多说,万变不离其宗,这是 Win32 内创建线程的唯一系统方法,以下介绍的多线程创建方式虽然不直接接触这个 Win32 APi,但系统也是通过他创建的。
3、但是用vb做多线程的关键不在于创建,而是在于线程的不稳定,其不稳定是由于vb6自身的控件(如按钮、文本框等)不是线程安全的,怎么用你程序就可能怎么挂,所以这些个玩样儿在多线程中统统不能用。
相关问答
Q1: 同Java一样简单!VB.NET多线程开发实例
1、多线程一般是不推荐用的,因为线程之间如果有共享资源的话会引起竞争,需要加锁处理;而且线程间没有时序关系,所以你在调试中可能会出现异步处理结束顺序与开始处理顺序不一致的情况(我在调试中已经发现该问题)。
2、ListBox操作需要用Invoke。另外多线程方式并不是并行处理。建议采用.net framework 4 带的并行处理循环操作,若不是0版本的framework,可以使用Aforge的并行库比较方便。
3、多线程的使用可以带来更好的交互响应和实时行为。多线程的简单性是Java成为主流服务器端开发语言的主要原因之一。
Q2: VB.net多线程编程问题
1、你可以在timer前用if判断网络状态vb.net的多线程技术,如断开,可用 threading.Thread.Sleep(10000) ‘当前线程挂起10秒 ’可以开一个新线程去读取脱机数据。如连接,则继续执行。
2、简单实现vb.net的多线程技术的话可以试试BackgroundWorker控件来做比较简单。
3、.net 为了安全,默认不允许跨线程访问操作控件。只能谁创建了控件,谁操作。这个textbox只能从主线程访问。解决方案一般有两个 使用委托机制。
Q3: vb.net如何用线程池实现多线程事件响应
1)当你将方法排入线程池队列后,此方法在有线程池线程变得可用时执行。
首先,你把你那些要运行很久的过程。尽量放在一个过程中。因为线程只能是过程,不能使函数,没有返回值的。
ListBox操作需要用Invoke。另外多线程方式并不是并行处理。建议采用.net framework 4 带的并行处理循环操作,若不是0版本的framework,可以使用Aforge的并行库比较方便。
简单实现的话可以试试BackgroundWorker控件来做比较简单。
而数据处理部分可以通过 Timer,每100毫秒检测一下缓冲区数据进行处理。原理说着简单,实现起来往往不那么容易,得因地制宜看具体情况来写。VB6不能直接支持多线程,VB.net可以。
关于vb.net的多线程技术和vbnet多线程编程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







