gpt4 book ai didi

c - 多线程和strtok

转载 作者:太空狗 更新时间:2023-10-29 16:58:14 25 4
gpt4 key购买 nike

我将在多线程应用程序中不断拆分字符串,我读到 strtok 不适合这个,但为什么呢?

我是否应该考虑在调用 strtok 的代码部分周围使用信号量?

最佳答案

您应该考虑完全不使用 strtokstrtok_r。编写自己的与这些类似但更适合您使用它们的确切方式的函数是微不足道的,当然让调用者存储所有状态并传递一个指向状态的指针以实现线程安全/重入。

至于您关于在对 strtok 的调用周围使用信号量(或其他锁定原语)的问题,如果您只是将其放在实际调用周围,那将无济于事。在解析字符串的整个过程中,您必须持有锁以保护 strtok 的内部状态。我相信这就是许多人所说的锁定代码代替数据,并且它通常被认为是一件坏事

关于c - 多线程和strtok,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4310709/

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