Size: a a a

2021 February 24

S

Slavick in supapro.cxx
Georgy Firsov
Ну в этом случае будет мусор.
А вот если задавать офсеты в файле, по которым потоки будут писать, то будет вполне нормально
Ну при этом стоит контролировать, чтобы в одно и то же место не было записи из разных потоков
Имеется в виду показать конкретное место, с которого может писать каждый поток? Просто указать номер строки?
источник

s

std::slavik in supapro.cxx
перед тем как начать запись в файл
источник

S

Slavick in supapro.cxx
std::slavik
можно создавать файл типа .lock
Что подразумевается под .lock?
источник

s

std::slavik in supapro.cxx
соответственно - если файл уже создан - ждать пока он удалится и получится создать его
после этого поток может писать в файл
источник

GF

Georgy Firsov in supapro.cxx
Slavick
Что подразумевается под .lock?
std::mutex например
источник

s

std::slavik in supapro.cxx
Slavick
Что подразумевается под .lock?
это что-то вроде мьютекса посредством файловой системы
источник

DK

David Kravets in supapro.cxx
Slavick
Что подразумевается под .lock?
Семафоры, мьютексы
источник

S

Slavick in supapro.cxx
Ага, понял.
источник

s

std::slavik in supapro.cxx
просто пустой файл
источник

S

Slavick in supapro.cxx
Slavick
Имеется в виду показать конкретное место, с которого может писать каждый поток? Просто указать номер строки?
А такое решение модно реализовать?
источник

S

Slavick in supapro.cxx
К-во комбинаций каждого потока можно рассчитать
источник

s

std::slavik in supapro.cxx
суть в том что файловая система обеспечивает атомарность операций некоторых
источник

GF

Georgy Firsov in supapro.cxx
Slavick
Имеется в виду показать конкретное место, с которого может писать каждый поток? Просто указать номер строки?
Если же без блокировок хочется, то по факту файл открывается на "бинарную" запись и кадому потоку говорится, по какому смещению писать данные
источник

s

std::slavik in supapro.cxx
и 2 потока не могут создать файл с одним именем
источник

s

std::slavik in supapro.cxx
кто-то из них создаст первый
а второй получит ошибку
источник

S

Slavick in supapro.cxx
std::slavik
и 2 потока не могут создать файл с одним именем
С этой проблемой я столкнулся. Но её возможно пофиксить и достаточно легко
источник

s

std::slavik in supapro.cxx
то что Вы реализовали это типа двухфазный коммит
поток берет версию файла текущую
модифицирует ее
источник

DK

David Kravets in supapro.cxx
Slavick
С этой проблемой я столкнулся. Но её возможно пофиксить и достаточно легко
Работа без синхронизации смерти подобно
источник

s

std::slavik in supapro.cxx
заменяет если исходный файл не изменился
источник

S

Slavick in supapro.cxx
А есть возможность просто допустим, чтобы один поток писал до 500 строки, а второй после. Чтобы небыло мусора
источник