Size: a a a

2020 March 21

ES

Egor Sidorenko in pro.net
Та похер же зачем
источник

EZ

Eugene Zakharov in pro.net
semptra
Зачем делать thread.sleep?
у меня какая-то беда с синхронизацией доступа к этому файлу, когда делаю cancel, то другие треды начинают выбрасывать OperationCanceledException
и мой колбек иногда вызывается посередине (до окончания работы некоторых тредов) и файл оказывается залочен.
Удалить не получается. Я думал как самое наивное решение подождать малян и потом удалить
источник

ES

Egor Sidorenko in pro.net
Eugene Zakharov
у меня какая-то беда с синхронизацией доступа к этому файлу, когда делаю cancel, то другие треды начинают выбрасывать OperationCanceledException
и мой колбек иногда вызывается посередине (до окончания работы некоторых тредов) и файл оказывается залочен.
Удалить не получается. Я думал как самое наивное решение подождать малян и потом удалить
Не ну если так, да, звучит хуево
источник

s

semptra in pro.net
Eugene Zakharov
у меня какая-то беда с синхронизацией доступа к этому файлу, когда делаю cancel, то другие треды начинают выбрасывать OperationCanceledException
и мой колбек иногда вызывается посередине (до окончания работы некоторых тредов) и файл оказывается залочен.
Удалить не получается. Я думал как самое наивное решение подождать малян и потом удалить
Эт синхронизацию нормально сделать надо
источник

EZ

Eugene Zakharov in pro.net
semptra
Эт синхронизацию нормально сделать надо
кэп
источник

s

semptra in pro.net
А не тред слип юзать
источник

ES

Egor Sidorenko in pro.net
Синхронизация через lock
источник

ES

Egor Sidorenko in pro.net
Захуярь как нить
источник

EZ

Eugene Zakharov in pro.net
Egor Sidorenko
Синхронизация через lock
это тебе не волшебная палочка.

короче, есть тред, который читает файл по блокам и херачит блоки в очередь.
есть куча других тредов, которые слушают эту очередь, архивируют блоки и перегоняют в другую очередь.
и есть ещё один тред, который разбирает вторую очердь с архивированными блоками, и он записывает их в результирующий файл

и когда я делаю CancellationTokenSource.Cancel, то у меня в каждом треде делается cancellationToken.ThrowIfCancellationRequested
источник

ES

Egor Sidorenko in pro.net
Нихуя себе, интересная задачка
источник

EZ

Eugene Zakharov in pro.net
это мне тестовое задание задали я уже с ним заебался. уже давно забил на эту компанию, чисто для себя решаю

ну и lock мне явно некуда впихивать.
мне надо подождать пока все треды зарейзят Cancellation
источник

s

semptra in pro.net
Eugene Zakharov
это мне тестовое задание задали я уже с ним заебался. уже давно забил на эту компанию, чисто для себя решаю

ну и lock мне явно некуда впихивать.
мне надо подождать пока все треды зарейзят Cancellation
Ну так сделай семафор там, жду пока все дочерние потоки его разлочат, потом удаляй в том, где его ждешь
источник
2020 March 22

AH

Ayrat Hudaygulov in pro.net
Eugene Zakharov
это тебе не волшебная палочка.

короче, есть тред, который читает файл по блокам и херачит блоки в очередь.
есть куча других тредов, которые слушают эту очередь, архивируют блоки и перегоняют в другую очередь.
и есть ещё один тред, который разбирает вторую очердь с архивированными блоками, и он записывает их в результирующий файл

и когда я делаю CancellationTokenSource.Cancel, то у меня в каждом треде делается cancellationToken.ThrowIfCancellationRequested
Напиши на фшарпе. Там все отменяется само и правильно
источник

IC

Ilya Chernoudov in pro.net
Eugene Zakharov
это тебе не волшебная палочка.

короче, есть тред, который читает файл по блокам и херачит блоки в очередь.
есть куча других тредов, которые слушают эту очередь, архивируют блоки и перегоняют в другую очередь.
и есть ещё один тред, который разбирает вторую очердь с архивированными блоками, и он записывает их в результирующий файл

и когда я делаю CancellationTokenSource.Cancel, то у меня в каждом треде делается cancellationToken.ThrowIfCancellationRequested
чот не понял, а проблема в чём?
источник

IC

Ilya Chernoudov in pro.net
один поток читает файл
источник

IC

Ilya Chernoudov in pro.net
он канселится
источник

AH

Ayrat Hudaygulov in pro.net
Да вот я тоже не понимаю
источник

IC

Ilya Chernoudov in pro.net
что не так?
источник

EZ

Eugene Zakharov in pro.net
ну вот мне казалось что проблема ни в чём, а у меня System.IO.IOException: The process cannot access the file  because it is being used by another process.
источник

AH

Ayrat Hudaygulov in pro.net
Даже общих ресурсов нет. Две конкурентных очереди и по файлу на поток
источник