gpt4 book ai didi

multithreading - 从 TThread 队列中删除匿名方法

转载 作者:行者123 更新时间:2023-12-03 15:58:11 26 4
gpt4 key购买 nike

在线程内,我将事件排队以在主线程的上下文中运行,如下所示:

TThread.Queue(nil, procedure begin AddDataToChart(SomeData) end);

现在,在某些时候,我需要将这些事件出队,因为匿名方法中寻址的组件已被破坏,因此不应接收更多数据。我知道我可以通过调用 TThread.RemoveQueuedEvents 将事件从 TThread 同步列表中出队。 。不幸的是,这似乎只适用于线程方法,但不适用于排队的匿名方法。所以我的问题是如何从队列中删除我的匿名方法。

最佳答案

TThread 不会公开任何删除排队匿名过程的方法。唯一的选择是使用专用的 TThread 对象对匿名过程进行排队(调用 TThread.Queue() 方法的非版本在该对象上,或者将该对象作为 AThread 参数传递给 TThread.Queue()class 版本),然后您可以将其传递给对象传递给以 TThread 对象作为输入的 TThread.RemoveQueuedEvents() 方法。

关于multithreading - 从 TThread 队列中删除匿名方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21022624/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com