Закрытие потока после выполнения задачи.
-
@kibec Если брать ресурсы ни в ручную, а через {{ }}, то прерываться не должно, потому что мне уже админ объяснил, что как только поток берет ресурс, то он лочится, а с залоченными ресурсами скрипт прерваться не может. (т.е. при попытке взять ресурс из пустого списка, скрипт не прервется, пока список залочен)
-
!Но при этом если предыдущие потоки не закончили свою работу, то вся программа - всё равно останавливается.
Нет, если какой-то поток еще использует ресурс, то скрипт не закончит работу, пока этот ресурс используется.
-
Тут именно идёт завершение скрипта, и он заново начинает с нуля, если успех или ошибок хватает. А наша цель, что бы он отработал - и больше не перезапускался, а остальные потоки, которые еще не закончили своё дело - продолжили работать полноценно.
Так и будет происходить. Поток, который перезапустился будет вечно ждать ресурса
-
@kibec Вот проект который демонстрирует этот подход:
Вот сам файл:
line1 line2 line3 line4 line5 line6 line7 line8 line9 line10
Вот вывод:
[19:33:47] Поток №1 : Начинаю работу с ресурсом line1 [19:33:47] Поток №2 : Начинаю работу с ресурсом line2 [19:33:47] Поток №3 : Начинаю работу с ресурсом line3 [19:33:47] Поток №4 : Начинаю работу с ресурсом line4 [19:33:47] Поток №5 : Начинаю работу с ресурсом line5 [19:33:48] Поток №2 : Работа с ресурсом завершена line2 [19:33:48] Поток №2 : Поток выполнен успешно с сообщением "Ok" [19:33:48] Поток №2 : Начинаю работу с ресурсом line6 [19:33:52] Поток №1 : Работа с ресурсом завершена line1 [19:33:52] Поток №1 : Поток выполнен успешно с сообщением "Ok" [19:33:52] Поток №1 : Начинаю работу с ресурсом line7 [19:33:52] Поток №5 : Работа с ресурсом завершена line5 [19:33:52] Поток №5 : Поток выполнен успешно с сообщением "Ok" [19:33:52] Поток №5 : Начинаю работу с ресурсом line8 [19:33:52] Поток №2 : Работа с ресурсом завершена line6 [19:33:52] Поток №2 : Поток выполнен успешно с сообщением "Ok" [19:33:52] Поток №2 : Начинаю работу с ресурсом line9 [19:33:53] Поток №3 : Работа с ресурсом завершена line3 [19:33:53] Поток №3 : Поток выполнен успешно с сообщением "Ok" [19:33:53] Поток №3 : Начинаю работу с ресурсом line10 [19:33:55] Поток №1 : Работа с ресурсом завершена line7 [19:33:55] Поток №1 : Поток выполнен успешно с сообщением "Ok" [19:33:56] Поток №4 : Работа с ресурсом завершена line4 [19:33:56] Поток №4 : Поток выполнен успешно с сообщением "Ok" [19:33:56] Поток №5 : Работа с ресурсом завершена line8 [19:33:56] Поток №5 : Поток выполнен успешно с сообщением "Ok" [19:33:57] Поток №3 : Работа с ресурсом завершена line10 [19:33:57] Поток №3 : Поток выполнен успешно с сообщением "Ok" [19:34:01] Поток №2 : Работа с ресурсом завершена line9 [19:34:01] Поток №2 : Поток выполнен успешно с сообщением "Ok" [19:34:01] Поток №2 : Поток аварийно завершился с сообщением "не удалось получить ресурс file" [19:34:01] Поток №1 : Поток выполнен успешно с сообщением "Ok" [19:34:01] Поток №3 : Поток выполнен успешно с сообщением "Ok" [19:34:01] Поток №4 : Поток выполнен успешно с сообщением "Ok" [19:34:01] Поток №5 : Поток выполнен успешно с сообщением "Ok" [19:34:01] Скрипт завершен корректно
Как видите, отработали все строки.