Вот моя проблема: мне нужно часто выполнять операции чтения / записи одного файла через разные потоки, и я склонен использовать threading.RLock (). Acqu () и threading.RLock (). Release () для блокировкиресурс (например, один текстовый файл).Дело в том, что вы можете легко выполнять операции записи файлов в определенном потоке, как получить возвращаемое значение в потоке?Вот мой пример кода:
FileLock = threading.RLock()
def FileReadingWriting(self, Input, Mode)
#### Input: things to write
#### Mode: 1 - write to the file
#### 2 - read from the file
FileLock.acquire()
if Mode == 1:
TheFile = open("example.txt", "w")
TheFile.write(Input)
TheFile.close()
elif Mode == 2:
TheFile = open("example.txt", "r")
Content = TheFile.read()
TheFile.close()
return Content #### Obviously this won't work, but if I want to get the content in a thread, how should I code?
FileLock.release()