数学之路-vb.net并行计算(1)
2015-03-25 16:32
274 查看
Imports System
Imports System.Threading
Module Module1
Sub Main()
Dim mythread1 As Thread
Dim mythread2 As Thread
Dim mythread3 As Thread
'创建线程对象
mythread1 = New Thread(AddressOf mythreadrun)
mythread2 = New Thread(AddressOf mythreadrun)
mythread3 = New Thread(AddressOf mythreadrun)
Console.WriteLine(Now.ToLongTimeString & "线程对象创建完毕,开始执行线程")
'执行线程
mythread1.Start("线程1")
mythread2.Start("线程2")
mythread3.Start("线程3")
'等待线程完成
mythread1.Join()
mythread2.Join()
mythread3.Join()
'线程执行完毕
Console.WriteLine(Now.ToLongTimeString & "线程执行完毕!")
End Sub
Public Sub mythreadrun(ByVal data As Object)
Console.WriteLine(data & "," & Now.ToLongTimeString & "执行")
End Sub
End Module
Dim mythread1 As Thread
初始化Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托。 线程不会在创建时开始执行。 若要为执行而调度线程,调用start方法。上面代码创建了3个thread对象,然后调用它们的start方法执行它们调用join方法等它们执行完毕可在VB.NET中建立一个新的Console应用程序,然后在模块中编写以上代码 New Thread(AddressOf mythreadrun)
构造函数中必须将要做为线程执行的函数做为参数传入 mythread1.Start("线程1")
start方法可以在执行线程时,向其传入参数 Imports System
Imports System.Threading
程序需要导入以上命名空间
Imports System
Imports System.Threading
Module Module1
Sub Main()
Dim mythread1 As Thread
Dim mythread2 As Thread
Dim mythread3 As Thread
'创建线程对象
mythread1 = New Thread(AddressOf mythreadrun)
mythread2 = New Thread(AddressOf mythreadrun)
mythread3 = New Thread(AddressOf mythreadrun)
Console.WriteLine(Now.ToLongTimeString & "线程对象创建完毕,开始执行线程")
'执行线程
mythread1.Start("线程1")
mythread2.Start("线程2")
mythread3.Start("线程3")
'等待线程完成
mythread1.Join()
mythread2.Join()
mythread3.Join()
'线程执行完毕
Console.WriteLine(Now.ToLongTimeString & "线程执行完毕!")
End Sub
Public Sub mythreadrun(ByVal data As Object)
Dim mynum As Integer
Dim jg As Integer
mynum = 20
Try
For mynum = 20 To -20 Step -1
jg = 1000 / mynum
Console.WriteLine(data & ":" & Now.ToLongTimeString & ",1000 / " & mynum & "计算结果为:" & jg)
Thread.Sleep(1)
Next
Catch
Console.WriteLine(data & ":" & Now.ToLongTimeString & "线程异常终止!")
'终止线程
Thread.CurrentThread.Abort()
End Try
End Sub
End Module
在线程中计算1000/mynum的值,其中mynum从20开始递减,到0时会出现除0异常,调用Thread.CurrentThread.Abort()
完成终止线程的操作 Try
For mynum = 20 To -20 Step -1
jg = 1000 / mynum
Console.WriteLine(data & ":" & Now.ToLongTimeString & ",1000 / " & mynum & "计算结果为:" & jg)
Thread.Sleep(1)
Next
Catch
Console.WriteLine(data & ":" & Now.ToLongTimeString & "线程异常终止!")
'终止线程
Thread.CurrentThread.Abort()
End Try
Imports System.Threading
Module Module1
Sub Main()
Dim mythread1 As Thread
Dim mythread2 As Thread
Dim mythread3 As Thread
'创建线程对象
mythread1 = New Thread(AddressOf mythreadrun)
mythread2 = New Thread(AddressOf mythreadrun)
mythread3 = New Thread(AddressOf mythreadrun)
Console.WriteLine(Now.ToLongTimeString & "线程对象创建完毕,开始执行线程")
'执行线程
mythread1.Start("线程1")
mythread2.Start("线程2")
mythread3.Start("线程3")
'等待线程完成
mythread1.Join()
mythread2.Join()
mythread3.Join()
'线程执行完毕
Console.WriteLine(Now.ToLongTimeString & "线程执行完毕!")
End Sub
Public Sub mythreadrun(ByVal data As Object)
Console.WriteLine(data & "," & Now.ToLongTimeString & "执行")
End Sub
End Module
本博客所有内容是原创,如果转载请注明来源
http://blog.csdn.net/myhaspl/
Dim mythread1 As Thread
初始化Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托。 线程不会在创建时开始执行。 若要为执行而调度线程,调用start方法。上面代码创建了3个thread对象,然后调用它们的start方法执行它们调用join方法等它们执行完毕可在VB.NET中建立一个新的Console应用程序,然后在模块中编写以上代码 New Thread(AddressOf mythreadrun)
构造函数中必须将要做为线程执行的函数做为参数传入 mythread1.Start("线程1")
start方法可以在执行线程时,向其传入参数 Imports System
Imports System.Threading
程序需要导入以上命名空间
Imports System
Imports System.Threading
Module Module1
Sub Main()
Dim mythread1 As Thread
Dim mythread2 As Thread
Dim mythread3 As Thread
'创建线程对象
mythread1 = New Thread(AddressOf mythreadrun)
mythread2 = New Thread(AddressOf mythreadrun)
mythread3 = New Thread(AddressOf mythreadrun)
Console.WriteLine(Now.ToLongTimeString & "线程对象创建完毕,开始执行线程")
'执行线程
mythread1.Start("线程1")
mythread2.Start("线程2")
mythread3.Start("线程3")
'等待线程完成
mythread1.Join()
mythread2.Join()
mythread3.Join()
'线程执行完毕
Console.WriteLine(Now.ToLongTimeString & "线程执行完毕!")
End Sub
Public Sub mythreadrun(ByVal data As Object)
Dim mynum As Integer
Dim jg As Integer
mynum = 20
Try
For mynum = 20 To -20 Step -1
jg = 1000 / mynum
Console.WriteLine(data & ":" & Now.ToLongTimeString & ",1000 / " & mynum & "计算结果为:" & jg)
Thread.Sleep(1)
Next
Catch
Console.WriteLine(data & ":" & Now.ToLongTimeString & "线程异常终止!")
'终止线程
Thread.CurrentThread.Abort()
End Try
End Sub
End Module
在线程中计算1000/mynum的值,其中mynum从20开始递减,到0时会出现除0异常,调用Thread.CurrentThread.Abort()
完成终止线程的操作 Try
For mynum = 20 To -20 Step -1
jg = 1000 / mynum
Console.WriteLine(data & ":" & Now.ToLongTimeString & ",1000 / " & mynum & "计算结果为:" & jg)
Thread.Sleep(1)
Next
Catch
Console.WriteLine(data & ":" & Now.ToLongTimeString & "线程异常终止!")
'终止线程
Thread.CurrentThread.Abort()
End Try
相关文章推荐
- 数学之路-vb.net并行计算(3)
- 数学之路-vb.net并行计算(6)
- 数学之路-vb.net并行计算(2)
- 数学之路-vb.net并行计算(5)
- 数学之路-vb.net并行计算(4)
- 数学之路-python计算实战(24)-并行计算(2)
- 数学之路-python计算实战(23)-并行计算(1)
- 数学之路-仿生计算-分子生物学基础(1)-细胞合成的分子
- 用 VB.NET 实现的非确定性计算例子
- C#数学计算包 Math.NET
- VB.net 调用matlab引擎计算
- 在VB.NET中利用Split和Replace函数计算字数
- VB.NET函数——数学函数/字母串函数
- VB.Net常用数学函数整理
- VB.net | 如何在程序中执行用户脚本以及进行代数式计算
- 数学之路-python计算实战(4)-Lempel-Ziv压缩(2)
- vb.net 补码计算
- VB.NET中如何利用Split和Replace函数计算字数
- C#数学计算包 Math.NET[转]
- VB.Net常用数学函数整理