@bratishka у меня скорее чуть по-другому можно сделать.
Например, сначала запрашивать ручным вводом данных, для скольких потоков задать определённое значение.
Ввёл значение 7. Значит, если номер потока с 1 по 7 (первые 7 потоков), то запрашивать ручной ввод для R1.
Далее ввёл 9. Если номер потока с 8 по 16, то R2 и т.д.
То есть сначала при ручном вводе запрашивается "Для какого количество потоков задать Значение1?"
Если количество потоков равно 10, то для первых десяти потоков Значение1.
Далее для последующих 20 потоков Значение2 и т.д.
Использование глобальной переменной/список как память для потоков. Проблема undefined и null при записи.
-
Есть главный поток который взывает функцию через блок Вызов в функции в несколько потоков.
Потоки которые вызываться имеют циклы, и по мере прохождения цикла имеют свойство фейлится и падать, соответственно после падения отсчет цикла начинается с условного начала а не с того момента где упал.
Поэтому используя глобальную переменную с списком MEMEORY я попытался записывать условный CYCLE_INDEX в локальный список MEMORY в элемент с индексом THREAD_INDEX и потом обновлял им глобальную переменную MEMORY. В локальном списке MEMORY также появляются и элементы типа undefined если THREAD_INDEX = 3 к примеру то масив имеет 3 переменные undefined и один элемент 4 - CYCLE_INDEX. И вроде бы все должно работать корректно но вот не задача, при Установке локального списка MEMORY на его глобальную переменную все элементы что в локальном списке MEMORY были как undefined в глобальном превращаются на null. Это привод к тому что старшие потоки при сохранении своих данных с локального списка в глобальную переменную заменяют все данные предыдущих потоков на null так как в этом потоке этих данных в локальном списке не существует.Вообще костыли с работой с списками в глобальных переменных судя по топикам существует с самого начала. Жаль что не реализованы нормальные Глобальные списки которые можно изменять прямо а не переводя в локальную переменную, так и еще с этим багом где undefined превращается в null.
Есть ли знатоки как решить эту проблему или может уже у кого-то, есть реализованая логика буфера памяти для потоков на случай его фейла