更改行码上的德尔福线程大小



这是我的问题:

我当前的线程默认使用 1024kb 创建,而我通常需要不到 50kb。
有没有办法通过编码来参数化它的大小?我只能找到一种通过菜单更改它的方法。

提前谢谢。

无法使用 TThread 指定堆栈大小。 TThread 的线程创建代码路径会导致调用CreateThread API 以使用可执行文件的默认堆栈大小。默认情况下,对于Delphi可执行文件,这是1MB(如您所指出的)。尽管可以通过链接器选项(最大堆栈大小)或通过相应的编译器指令修改此值 (*),但这将对应用程序中使用默认堆栈的所有线程(主线程、第三方线程、...)产生影响。

如果可以不用TThread,则可以使用 BeginThread RTL 函数在CreationFlags中包含STACK_SIZE_IS_A_RESERVATION时使用您传递StackSize

(*) 将为线程堆栈保留的值,Te Waka o Pascal 有一篇文章展示了使用不同值的效果。

最新更新