Visual Basic 的 Grand Central Dispatch?

发布于 2024-11-09 23:12:48 字数 91 浏览 0 评论 0原文

在 Mac OS XI 中,可以使用 GCD(Grand Central Dispatch)充分利用 1 个以上的核心。 Visual Basic 程序的等效项是什么?

In Mac OS X I can take advantage of more than 1 core using GCD (Grand Central Dispatch). What is the equivalent for a Visual Basic program?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

乖不如嘢 2024-11-16 23:12:48

VB.NET 中的线程非常简单。

Shared Sub New()
    Dim t As New System.Threading.Thread(AddressOf GetWebpage)
    t.Start()
End Sub

上述所有操作都是导致函数在其自己的线程中执行。

下面是被调用的函数:

Private Shared Sub GetWebpage()
        Dim URL As String = ConfigurationManager.AppSettings("AppCacheURL")
        Dim REQ As System.Net.HttpWebRequest = System.Net.WebRequest.Create(URL & "?Task=PopulateURLCache&Payload=App_Start")
        REQ.GetResponse()
End Sub

这是异步调用向网页发出 HTTP 请求的函数的简化示例。原始代码在错误处理和日志记录方面稍微复杂一些,但它基本上会导致访问“保持活动”样式的 aspx 页面,而不会减慢调用应用程序的速度。 (一劳永逸)

如果您需要一个框架或库来实现您的目标,请查看:

Threading in VB.NET can be very simple.

Shared Sub New()
    Dim t As New System.Threading.Thread(AddressOf GetWebpage)
    t.Start()
End Sub

All the above is doing is causing a function to be executed in its own thread.

Here's the function being called:

Private Shared Sub GetWebpage()
        Dim URL As String = ConfigurationManager.AppSettings("AppCacheURL")
        Dim REQ As System.Net.HttpWebRequest = System.Net.WebRequest.Create(URL & "?Task=PopulateURLCache&Payload=App_Start")
        REQ.GetResponse()
End Sub

This is a simplified example of an asyncronous call to a function that fires an HTTP Request to a webpage. The original code is a little more complex with error handling and logging, but it basically causes a "keep alive" style aspx page to be accessed without slowing down the calling application. (Fire and forget)

If you need a framework or library to accomplish your goals, have a look at:

云醉月微眠 2024-11-16 23:12:48

您应该查看 PLINQ任务并行库,这两个库都可用于利用可用内核数用于执行 CPU 密集型操作的主机。

Joseph Albahari 有一个关于使用并行编程技术(C#)的很棒的教程,但确切的相同的概念也适用于 VB.NET。

You should look at PLINQ and the Task Parallel Library, both of which can be used to utilise the number of cores available in a host computer for performing CPU bound operations.

Joseph Albahari has a great tutorial on using Parallel Programming techniques (in C#), but the exact same concepts apply to VB.NET.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文