问题标签 [begininvoke]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在 MulticastDelegate 上调用 BeginInvoke?
根据Jon Skeet的说法,“您只能在具有单个目标调用的委托上调用 BeginInvoke。”
这是为什么?真正的原因是什么?
注意:为了澄清(并且因为我犯了这个错误),我说的BeginInvoke
是代表,而不是控制。
c# - beginInvoke、GUI 和线程
我有两个线程的应用程序。其中一个 (T1) 是主要的 GUI 形式,另一个 (T2) 是循环工作的函数。当 T2 得到一些信息时,必须以 GUI 形式调用函数。我不确定我做对了。
T2 调用函数 FUNCTION,以 GUI 形式更新某些内容。
但现在我必须声明两个函数。它如何只使用一个功能?或者如何正确。
c# - control.BeginInvoke() 调用委托失败
我注意到 control.BeginInvoke(delegate) 有时无法调用委托。我知道 BeginInvoke 只是创建一个 PostMessage 并且该消息稍后由应用程序处理(默认情况下发布消息限制为 10,000)。鉴于我们的应用程序不是很复杂,是否还有其他原因导致它无法执行委托?我的代码如下所示。
vb.net - 试图理解 MSDN 上的 Control.BeginInvoke 代码
我指的是 MSDN 上的这个文档。我了解“.BeginInvoke”的作用,但是查看文档上的示例代码
委托 myDelegate(和 DelegateMethod)接受一个控件和一个字符串,但是,在 .BeginInvoke 处,传递了一个 Label 控件和一个数组......
在“DelegateMethod”中有
不应该传递字符串而不是数组吗?我错过了什么吗?
c# - 异步调用 - 是否需要 EndInvoke?
可能的重复:
每个 BeginInvoke 必须跟 EndInvoke 吗?
EndInvoke() 是可选的,是可选的,还是绝对不是可选的?
我有一个多线程应用程序,其中一个辅助线程需要每隔几分钟在主线程上执行一次代码。没有任何返回值,并且第二个线程不关心它是否引发任何异常或无法运行。
到目前为止,我一直让它通过 运行代码Form.Invoke
,但有时它需要比平时更长的时间(几秒钟)并阻塞线程直到它完成。我需要第二个线程能够继续执行而不会停顿几秒钟。
BeginInvoke
听起来它可以很好地完成工作,但我真的没有任何地方可以调用EndInvoke
,因为我不想等待它或获得返回值。并且考虑到被调用的代码涉及一堆本机调用,我不确定它是否是一个好主意EndInvoke
。
我是否需要调用EndInvoke
,或者是否有其他方法可以让代码在主窗体线程上异步运行,我应该使用它来代替?
谢谢 =)
c# - BeginInvoke、EndInvoke 的多线程问题?
我有一个显示实时值的客户端应用程序。这些值是通过 DDE-Advise 提供的。这些实时值是数控机床的移动轴。因此,每分钟大约有 100 条建议通过这种方法进入DdeClientAdvise
。
当应用程序获得许多 DDE 建议时,似乎突然所有建议都丢失了。
我将问题简化为以下内容:
如果我删除评论 LINE A,一切正常,没有任何建议丢失。所有的建议都被记录下来。
如果我启用 BeginInvoke,一段时间后DdeClientAdvise
-Method 不再被调用,不再有日志条目。
BeginInvoke,EndInvoke 我做错了什么?
编辑:添加更多关于课程的信息。
vb.net - VB.NET 在另一个线程上调用 BeginInvoke
因此,从http://www.codeproject.com/KB/cs/Threadsafe_formupdating.aspx上此人代码被翻译成 VB.NET 的评论部分,它显示了一些代码来帮助调用跨线程 UI 的东西。
但是,当我尝试调用以下命令时,出现错误:
或者
错误 1 扩展方法 'Public Function SafeInvoke(Of TResult)(ByRef call As System.Func(Of frmLogin, TResult)) As TResult 中的类型参数的数据类型在 'GvE.Globals' 中定义不能从这些论点中推断出来。明确指定数据类型可能会更正此错误。C:\GvE\GvE\frmLogin.vb 37 9 GvE
我错过了什么?我从表单中定义的方法内部调用该代码,但该方法是从另一个线程调用的。
只是试图避免委托,这就是上面的代码应该做的,但就是不能让它工作。
谢谢
c# - Socket编程:异步发送和读取方法能保证数据的顺序吗?
如果我连续调用c#异步方法如下所示:
异步方法能保证数据的顺序吗?
其他支持异步操作的网络库是否考虑了问题?
它们如何实现以保证内部异步操作中的数据顺序?
c# - 调用事件处理程序
我有以下事件处理程序:
有人可以解释以下片段之间的区别吗?
片段事件处理程序(A):
片段 BeginInvoke (B):
澄清一下:“按原样”调用 EventHandler 和使用之间有什么区别BeginInvoke
?
silverlight - 为什么使用 Dispatcher.BeginInvoke?
我已经看到(并阅读)关于使用 Dispatcher.BeginInvoke 来确保 UI 更新发生在 UI 线程上。我明白这个道理。
但是我看到了在视图代码隐藏中分配属性(例如 TextBlock 的 Text 属性)的示例,仅当您在此 Dispatcher.BeginInvoke 中分配它时才被声明为安全的。
问题 如果我从视图的代码隐藏中操作任何内容,是否暗示它正在 UI 线程上进行操作(假设我没有使用 BackgroundWorker 或异步服务调用)。
在我上面提到的示例中,没有使用其他线程或异步操作。
问题 2 如果我有一个异步 Web 服务处理程序,并且我想从该处理程序中更新 TextBlock 的字符串。我可以直接分配 TB 的 Text 属性,还是应该使用 Dispatcher.BeginInvoke。请注意,我通常不会这样做,因为我更喜欢数据绑定而不是像这样的直接 UI 元素操作。