gpt4 book ai didi

multithreading - 线程类之外的线程安全例程

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

如果您有一个调用函数的线程,据我所知,它是任何全局或 VCL 组件调用,这使得它不是线程安全的,对吧?

所以如果你的线程调用了一个类似的方法

procedure UpdateRow()
begin
StringGrid1.AddRow(....);
end;

那不是线程安全的。但是如果你有这样的方法

function ParseXML(const XML : String) : string;
var
xml_parser : TXMLParser;
begin
xml_parser := TXMLParser.create;
... do stuff
result := xml_parser.something;
xml_parser.free;
end;

这是线程安全的,只要 TXMLParser 没有做任何非线程安全的事情。

但是如果两个线程同时调用该方法,它不会抛出异常,因为它们都创建了自己的 TXMLParser 实例,对吗?他们有自己的副本。对吗?

希望这是有道理的:)

最佳答案

是的,这是正确的。

关于multithreading - 线程类之外的线程安全例程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6473393/

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