重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Sub Main()
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站制作、青云谱网络推广、小程序开发、青云谱网络营销、青云谱企业策划、青云谱品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供青云谱建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
Dim thr As New Thread(AddressOf 循环)
thr.Start("a")
End Sub
Sub 循环(a() As String)
'这里随你干什么循环也行
For Each i As String In a
MsgBox(i)
Next
End Sub
看懂了吧 参数只能有一个 也可以不是数组,在a() As String的a后面去掉括号就行
ListBox操作需要用Invoke。另外多线程方式并不是并行处理。
建议采用.net framework 4 带的并行处理循环操作,若不是4.0版本的framework,可以使用Aforge的并行库比较方便。
多线程并不一定就可以缩短时间,具体要看你上面的“过程”是否调用数据库完成。如果调用了数据库,可以考虑用存储过程替代“过程”。另外看看“过程”里是否反复打开和关闭了数据库连接,如果是,这才是真正的耗时动作。如果没调用数据库,可以考虑使用Parallel类(.net4以后)里面的函数,使多个任务在多核CPU上并行运行,缩短时间。
一般多开线程写无限循环行为。
//定义线程
Dim th As New Threading.Thread(New Threading.ParameterizedThreadStart(AddressOf test))
th.Start("aaa")//开始线程,可以传参
//线程执行函数
Public Sub test(ob As Object)
While True
Console.WriteLine("线程正在运行中" ob)
Threading.Thread.Sleep(1000)
End While
End Sub