Multithreading _nolock CRT功能

Multithreading _nolock CRT功能,multithreading,visual-c++,crt,Multithreading,Visual C++,Crt,我最近发现了,我惊讶于我能找到的关于这些的信息是如此之少。它说它提高了性能,但我找不到任何基准。它还说,如果程序自己进行锁定,它们可以用于多线程程序中,但是需要锁定什么呢?所有CRT呼叫是否都应该通过同一个锁?每个函数一个?每组功能一个?如果是这样,什么定义了组 你能给我指一些关于这些功能的详细信息吗?谢谢:-)如果从多个线程访问文件,则需要锁定对该文件的访问权限。否则,一个线程可以在另一个线程的中间写入。通过打印到stdio以查看效果来尝试这些功能。如果您按照单个功能的链接进行操作,您将看到以

我最近发现了,我惊讶于我能找到的关于这些的信息是如此之少。它说它提高了性能,但我找不到任何基准。它还说,如果程序自己进行锁定,它们可以用于多线程程序中,但是需要锁定什么呢?所有CRT呼叫是否都应该通过同一个锁?每个函数一个?每组功能一个?如果是这样,什么定义了组


你能给我指一些关于这些功能的详细信息吗?谢谢:-)

如果从多个线程访问文件,则需要锁定对该文件的访问权限。否则,一个线程可以在另一个线程的中间写入。通过打印到stdio以查看效果来尝试这些功能。

如果您按照单个功能的链接进行操作,您将看到以下行:

仅在线程安全模式下使用此函数 上下文,例如单线程 应用程序或呼叫的位置 作用域已处理线程 隔离

测试性能差异的唯一方法是创建一个小程序并进行测试。正如monjardin所指出的,您需要锁定使用该函数访问的文件的访问权限(除非如文档中所述,您处于单线程环境中)