- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有不同的场景,而不是 this question ,因此另一个问题。
让我们举个例子:
void PerformanceCriticalMethod()
{
Dispatcher.Invoke(() => Log.Add("1"));
... some job
Dispatcher.Invoke(() => Log.Add("2"));
}
Invoke
会产生性能问题。为了修复它,我使用 InvokeAsync
代替了 Invoke
并且它似乎有效,但重要的是 2
将在 1
之后输出。
如果从同一个线程调用两个 InvokeAsync
,它们将以相同的顺序执行,我可以依赖假设吗?我的 winapi's nut 告诉我这是真的,但我想确定一下。
另一个相关问题与链接问题相同:如果通过来自不同线程的 InvokeAsync
操作调用相同的方法,那么调用 InvokeAsync< 的线程首先执行它的机会有多大
更早?
P.S.:我觉得问题应该改写为“InvokeAsync 的工作原理”,但“顺序”一词可能 100% 可能是人们(包括我)将尝试搜索的内容。
最佳答案
请检查一下http://referencesource.microsoft.com/#WindowsBase/Base/System/Windows/Threading/Dispatcher.cs,1045
当您调用 InvokeAsync 时,会将一个操作放入 PriorityQueue,因此我想如果您以相同的优先级调用多个操作,您可以确信这些操作将以相同的顺序执行。
关于c# - InvokeAsync 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32778051/
这个问题在这里已经有了答案: Async/await with/without awaiting (fire and forget) (2 个回答) 9 个月前关闭。 编辑:为了澄清起见,这是在 Bl
请我有错误,这是我的代码。 private void ComboBoxSelectionChanged(object sender, SelectionChangedEventArgs e)
我有不同的场景,而不是 this question ,因此另一个问题。 让我们举个例子: void PerformanceCriticalMethod() { Dispatcher.Invok
我想知道将数组传递给 IJSRuntime.InvokeAsync 的最佳方法是什么? . 我偶然发现的问题是 blazor 会将数组的每个元素作为参数传递给 javascript 函数,因为 Inv
在以下方法中,我收到了警告:此异步方法缺少“await”运算符,将同步运行。在此方法中,我可以在哪里使用 await? 注意:此方法返回一个简单的静态 View ,无需与数据库等交互。 public
我有一个解决方案,其中既有 ASP.NET Core 3.1 Web 应用程序项目又有 Razor 客户端库 (RCL) 项目。我正在尝试编写一个 View 组件,该组件将随 Razor 客户端库一起
什么是调用方法? 下面是我的 viewcomponent() 方法。 public IViewComponentResult Invoke() { ViewBag.SelectedCategory
我正在尝试从另一个 Java Lambda 函数中异步调用一个 Java Lambda 函数。我只是想一劳永逸,但是使用 .invokeAsync(InvokeRequest),我必须在 Future
我知道调用StateHasChanged()方法通知组件状态已更改,因此它应该重新渲染。 但是,我也看到了对 await InvokeAsync(StateHasChanged) 的调用。或 awai
如果您有异步方法,如下所示: private async Task DoAsync() { Console.WriteLine(@"(1.1)"); T
我可以访问我的 IHubContext通过构造函数中的 DI 在我的 .NET Core WebAPI Controller 中很好,但我也想在其他地方访问它。 具体来说,当我使用来自 RabbitM
在我的 blazor 服务器端应用程序中,我调用 JSRuntime.InvokeAsync 以在弹出窗口中打开静态内容: await _jsRuntime.InvokeAsync("open", "
我正在尝试解决 SL 性能问题。到目前为止,我有由 InvokeAsync 执行的 WCF 调用。现在,我将其更改为使用 BackgroundWorker。性能大大提高。 什么会导致这种情况? Inv
我已成功将 SignalR.AspNetCore 集成到我的 AbpZero 模板中。一切正常。但是,当我尝试将集线器添加到我的应用程序中时,就像 document 中所述。 ,我在 上收到以下错误
我注意到在 .NET 4.5 中 WPF Dispatcher已经获得了一组新方法来在名为 InvokeAsync 的 Dispatcher 线程上执行内容.之前,.NET 4.5 我们有 Invok
我正在使用 Dotnet Core Blazor 并在删除事件后使用 EventCallBack 绑定(bind)父网格时遇到错误。下面是使用子组件的代码 @foreach (var e
我正在阅读.Net Core 中关于 DI 的 MS 文档。 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-
我的应用程序中使用了以下通过 SignalR 连接进行通信的 DTO/POCO 类: class Base { public string Value { get; set; } } cla
我是一名优秀的程序员,十分优秀!