gpt4 book ai didi

multithreading - Synchronize应该在哪些线程中使用?

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

我知道 Synchronize 必须在 Execute 过程中使用,但是否应该在 CreateDestroy 中使用> 方法也是如此,或者做我想做的事情是否安全?

最佳答案

I know Synchronize must be used in the Execute procedure.

这有点含糊。当您的代码必须在主线程上执行时,您需要使用 Synchronize。因此,是否需要使用 Synchronize 的答案在很大程度上取决于所考虑的代码的实际用途。您必须问自己的问题(也是只有您可以回答的问题)是您是否有必须在主线程上运行的代码?

作为一般规则,明智的做法是不需要在 Execute 方法之外调用 Synchronize。如果你能找到一种方法来避免这样做,那将是明智的。请记住,线程的理想场景是,如果可能的话,它们永远不需要使用 Synchronize 进行阻塞。

<小时/>

您可能还希望考虑哪个线程执行构造函数和析构函数。

构造函数Create在调用它的线程中运行。它不在新创建的线程中运行。因此,您不太可能需要在那里使用Synchronize

析构函数Destroy在调用它的线程中运行。通常,这是在线程对象上调用Free 的线程。通常,这会从最初创建该线程的同一个线程中调用。常见的异常(exception)是 FreeOnTerminate 线程,它从线程中调用 Free

关于multithreading - Synchronize应该在哪些线程中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23594326/

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