如果您还不了解 Express Lane 这个并行程序开发库,请点击这里。Express Lane 是一个为 .Net 用户准备的并行程序开发库。它提供了基础并行开发设施,例如线程池或并行集合,从而更简单地设计多线程程序。它使用 Visual Basic 8 进行开发,遵循 BSD 协议发布。欢迎您加入我们。在不久的将来,我们将正式接纳开发成员,前提是开发进行到一定阶段。
今天,Express Lane 的原型(0.0.1 Alpha Build 070801)已经正式在 Sourceforge 上发布,您可以在这里下载所有源代码与编译后的 DLL 文件。代码中已提供 XML 注释。如果您对其有任何意见和建议,或是 BUG 报告,请在评论中说明,感谢您的支持。以下通过一小段代码,展现 Express Lane 原型提供的新功能:
Imports ExpressLane.Concurrency
Imports System.Threading
Module Demo
Sub Main()
Dim executor As IExecutorLifecycleExtension = ExecutorFactory.CreateAsyncInvokeExecutor()
executor.Execute(AddressOf Test1)
Dim future1 As IFuture(Of SubroutineReturnType) = executor.SubmitTask(AddressOf Test2, 1)
Dim future2 As IFuture(Of Integer) = executor.SubmitTask(Of Integer, Integer)(AddressOf Test3, 2)
Dim result As Integer = future2.GetResult()
Console.WriteLine("Final result: {0}", result)
End Sub
Sub Test1()
Thread.Sleep(1000)
Console.WriteLine("Test 1 finished")
End Sub
Sub Test2(ByVal x As Object)
Thread.Sleep(2000)
Console.WriteLine("Test 2 finished, state = {0}", x)
End Sub
Function Test3(ByVal x As Integer) As Integer
Thread.Sleep(3000)
Console.WriteLine("Test 3 finished")
Return x + 1
End Function
End Module
Imports System.Threading
Module Demo
Sub Main()
Dim executor As IExecutorLifecycleExtension = ExecutorFactory.CreateAsyncInvokeExecutor()
executor.Execute(AddressOf Test1)
Dim future1 As IFuture(Of SubroutineReturnType) = executor.SubmitTask(AddressOf Test2, 1)
Dim future2 As IFuture(Of Integer) = executor.SubmitTask(Of Integer, Integer)(AddressOf Test3, 2)
Dim result As Integer = future2.GetResult()
Console.WriteLine("Final result: {0}", result)
End Sub
Sub Test1()
Thread.Sleep(1000)
Console.WriteLine("Test 1 finished")
End Sub
Sub Test2(ByVal x As Object)
Thread.Sleep(2000)
Console.WriteLine("Test 2 finished, state = {0}", x)
End Sub
Function Test3(ByVal x As Integer) As Integer
Thread.Sleep(3000)
Console.WriteLine("Test 3 finished")
Return x + 1
End Function
End Module
这仅仅是一个原型,并没有实现所有的功能;您仅可以从中了解到未来可能的新特性中的一部分。这些功能包括 IFuture,IExecutor 以及更多的并行程序开发支持。感谢您的关注。
本地下载:源代码 二进制
本帖子以署名-非商业用途-保持一致发布
最初发布 2007-08-01/ 最后更新 2007-08-02