Option Explicit
Public Declare Function CreateThread Lib "kernel32" _
(ByVal lpThreadAttributes As Long, _
ByVal dwStackSize As Long, _
ByVal lpStartAddress As Any, _
ByRef lpParameter As Any, _
ByVal dwCreationFlags As Long, _
ByRef lpThreadId As Long) As Long
Public Declare Function CreateThread_ByValParam Lib "kernel32" _
Alias "CreateThread" _
(ByVal lpThreadAttributes As Long, _
ByVal dwStackSize As Long, _
ByVal lpStartAddress As Any, _
ByVal lpParameter As Long, _
ByVal dwCreationFlags As Long, _
ByRef lpThreadId As Long) As Long
' So you can determine which thread the code is executing in.
Public Declare Function GetCurrentThreadId Lib "kernel32" () As Long
' This is the type that is passed to DaThreadFunc so you can do the by
' reference demonstration.
Type PARAM_TYPE
lValue As Long
End Type
' The function used to show a pass by reference.
Function DaThreadFunc(ByRef lpParam As PARAM_TYPE) As Long
Dim szStr As String
szStr = "From DaThreadFunc - Parameter = " & _
CStr(lpParam.lValue) & vbNewLine & _
"Thread ID: " & CStr(GetCurrentThreadId)
MsgBox szStr, , "Function Cool!"
' Just to make the return value different, I return -2.
DaThreadFunc = -2
End Function
' The subroutine to show pass by value.
' By the way, I noticed that subs always return 0.
Sub DaThreadSub(ByVal lpVoid As Long)
Dim szStr As String
szStr = "From DaThreadSub - Parameter = " & _
CStr(lpVoid) & vbNewLine & _
"Thread ID: " & CStr(GetCurrentThreadId)
MsgBox szStr, , "Sub Cool!"
End Sub
Sub Main()
Dim lRet As Long
Dim lThreadID As Long
Dim stParam As PARAM_TYPE
Dim szStr As String
lThreadID = 0
' Do the call to CreateThread with a by reference parameter.
stParam.lValue = -1
lRet = CreateThread(0, _
0, _
AddressOf DaThreadFunc, _
stParam, _
0, _
lThreadID)
' Do the call to CreateThread with a by value parameter.
lRet = CreateThread_ByValParam(0, _
0, _
AddressOf DaThreadSub, _
-2, _
0, _
lThreadID)
szStr = "From Da Main Thread" & vbNewLine & _
"Thread ID: " & CStr(GetCurrentThreadId)
MsgBox szStr
End Sub
分享到:
相关推荐
在VB(Visual Basic)编程中,多线程技术允许程序同时执行...通过理解和实践这些VB多线程的知识点,你可以创建出高效、稳定的多线程应用程序。在实际项目中,根据需求灵活运用这些技术,可以提升程序的性能和用户体验。
VB多线程控件是开发者用来实现这一功能的一种工具,但正如标题和描述所指出的,虽然可以实现简单的多线程,但确实存在一些限制和挑战。 首先,我们要理解什么是线程。线程是程序执行的基本单元,每个线程都有自己的...
下面将详细介绍VB多线程的基本概念、创建线程的方法以及相关的知识点。 1. **线程基本概念**: - **进程与线程**:进程是操作系统资源分配的基本单位,而线程是执行的基本单位。一个进程可以包含多个线程,线程...
本压缩包包含的“vb多线程演示代码”提供了一系列示例,旨在帮助开发者理解和应用VB中的多线程。 一、线程基础 线程是操作系统分配CPU时间的基本单元。一个进程可以有多个线程,每个线程独立地执行任务。在VB中,...
在标题"VB多线程操作"中,我们聚焦的是如何在VB中实现和管理多线程。 多线程在现代软件开发中的重要性不言而喻,尤其是在处理大数据、网络通信或UI更新等耗时操作时。VB支持通过Microsoft.VisualBasic.Threading...
这个压缩包中的"VB多线程实例"显然提供了关于如何在VB中实现多线程功能的源代码示例。 在VB中实现多线程,主要依赖于System.Threading命名空间中的Thread类。下面我们将深入探讨多线程的基本概念以及如何在VB中使用...
下面将详细探讨VB多线程的相关知识点。 1. **线程的概念**: - 线程是操作系统分配CPU时间的基本单元,一个进程可以包含一个或多个线程。在单线程应用程序中,只有一个线程执行代码;而在多线程应用中,有多个线程...
VB多线程的例子学习是开发者提升技能的重要途径,尤其对于处理长时间运行的操作,如网络通信、大数据处理、用户界面更新等场景,多线程显得尤为重要。 在VB中实现多线程,可以借助两种主要的方法:一是通过...
实用的真正的VB多线程处理的例子,源代码 我本人已经测试过了,没有任何问题!!,请不要随便枉下评论~~!!! (内部有两个工程,测试的时候需要全部运行!!) 在评论前,请先仔细的分析一下代码,~根据自己的需要在做适当修改~. ...
标题提到的“VB多线程组件”是一种专门设计用于VB环境下的多线程解决方案,它允许开发者在多个独立的工作线程中运行代码,从而实现并行处理,提高程序响应速度。 在传统的VB应用程序中,由于UI(用户界面)与后台...
综上所述,VB多线程工程是一个学习和实践多线程编程的好起点,它可以帮助开发者理解和掌握如何在VB.NET环境中有效地利用多线程,提升软件性能,同时避免并发问题。通过Mutithreading这个压缩包中的文件,初学者可以...
`源码中国.url`可能是一个指向源码中国的链接,你可以在这里找到更多VB多线程的示例代码和讨论;`vbthread`可能是一个包含VB多线程代码的文件,可以作为实践学习的参考。 总之,尽管VB原生不支持多线程,但我们可以...
这个"堪称精品的VB多线程控制台源程序代码.rar"提供了一个示例,展示了如何在VB6中创建并管理多线程,这对于理解和应用多线程技术具有很高的参考价值。 多线程是现代软件开发中的一个重要概念,它允许程序同时执行...
在VB(Visual Basic)编程环境中,多线程是一种高级编程技术,它允许程序同时执行多个独立的任务,从而提高应用程序的效率和响应性。本案例"VB 多线程模块"着重于展示如何在VB中创建和管理多线程,以实现并发操作。 ...
msdn 上面的vb 多线程
VB多线程控件(Thread Factory)破解版,PATH时关闭杀毒软件
标题中的"duoxiancheng.zip_vb 多线程_vb多线程"表明这是一个关于VB实现多线程的示例或库,可能包含代码和说明文档。 在描述中提到的“多线程,vb多线程例程,自动创建及结束线程!”这部分,我们可以理解为这个...
VB多线程组件VB多线程组件VB多线程组件VB多线程组件VB多线程组件VB多线程组件VB多线程组件VB多线程组件VB多线程组件VB多线程组件
在VB(Visual Basic)编程环境中,多线程技术是一种重要的编程模式,它允许应用程序同时...通过深入理解和实践这个VB多线程下载文件的例子,你可以更好地掌握VB中的多线程编程,为开发高效、响应迅速的应用奠定基础。
在探讨“vb多线程文档”这一主题时,我们深入解析了Visual Basic(简称VB)在多线程处理上的核心概念和技术细节。标题与描述强调了解决VB开发中多线程难题的重要性,以下是对该主题的详尽分析。 ### VB多线程基础 ...