【发布时间】:2019-10-18 22:57:29
【问题描述】:
我正在使用 Qt 开发一个小项目(用于学习 Qt 和一些 c++ 练习),我想要实现的是“在线编码编辑器”的克隆,多个用户可以阅读和编辑文档。不必在线,主要目的是处理并发文件编辑。我只是不知道如何处理这项任务。
到目前为止,我所做的是构建一个简单的文本编辑器。程序有两个文本区域。在文本区域 1 中,您编写代码。在文本区域 2 中显示输出。当您运行代码时,它将文本区域 1 的内容保存到文件(例如 Code.cpp)中,然后编译保存的文件。编译后,另一个函数运行 exe 并将输出写入另一个文件(这在 powershell 的 Out-File 命令中完成)。文本区 2 只是读取输出文件的内容。
对于单用户来说,这是可行的。问题是当有多个用户时我不知道如何处理。有人建议我应该使用文本编辑器程序作为客户端并在服务器中处理并发操作。这似乎是一个不错的方法。这是否意味着我还应该在服务器上处理保存文件和运行代码选项?
如何让多个用户编辑同一个文件?显然,我不是要一个-real- 代码。我知道互斥量和信号量,但从未实现过。一些伪代码可能会有所帮助?我不知道从哪里开始挖掘所以我在这里。如果有人能给我指明方向(任何要阅读的书籍或教程......等),我将不胜感激
【问题讨论】:
-
令人难以置信的广泛主题。如果没有至少并发的基本知识,您将无法完成此任务。我建议从一些简单的事情开始,比如制作一个线程安全的字符串,这样你就可以开始熟悉你需要处理的问题。从那里只会变得更丑。
标签: c++ multithreading qt file concurrency