我正在尝试用 C++ 为 Windows 创建一个简单的、线程安全的控制台包装器。不过,查看 API,我看不到任何用于锁定/解锁对控制台的访问的功能。对于内存,有HeapLock和HeapUnlock。
控制台是否存在此类功能,还是我必须创建自己的互斥锁?
编辑:
如下评论所示,控制台包装器是控制对控制台的访问。锁是必需的,这样当一个线程在控制台上执行复合操作时(例如,更改控制台颜色、写入几条消息,然后恢复颜色),其他线程将无法修改控制台或写入控制台.
我正在尝试用 C++ 为 Windows 创建一个简单的、线程安全的控制台包装器。不过,查看 API,我看不到任何用于锁定/解锁对控制台的访问的功能。对于内存,有HeapLock和HeapUnlock。
控制台是否存在此类功能,还是我必须创建自己的互斥锁?
编辑:
如下评论所示,控制台包装器是控制对控制台的访问。锁是必需的,这样当一个线程在控制台上执行复合操作时(例如,更改控制台颜色、写入几条消息,然后恢复颜色),其他线程将无法修改控制台或写入控制台.