- Регистрация
- 26.01.2023
- Сообщения
- 18
- Благодарностей
- 0
- Баллы
- 1
Всем привет!
Объясните, пожалуйста, логику работы в многопоточном режиме. Сколько читал и пока только запутался.
Сейчас я сделал проект в бесконечном цикле, который работает с Google таблицами и на каждом круге прибавляет значение переменной на 1, далее снова проходит круг и уже берёт данные с ячейки 2 и т.д..
Я так понимаю, что в многопоточном режиме и вообще бесконечные циклы - это неправильно. Т.е. мне надо передать проект в конечный и уже запускать его? Но тогда появляются вопросы.
1. Как мне упорядочить потоки, чтобы они учитывали друг друга? (первый поток взял цифру 1, второй цифру 2 и т.д.). Пока вижу какой-то костыль с подгрузкой паузы (10 сек + переменная в шаге) и связку взять данные - записать новые данные (первый поток берёт цифру 1 и пишет вместо неё цифру 2, а второй поток в это время ждет и когда обращается к google таблице там уже цифра 2). Но такое решение похоже на именно костыль
2. Я хочу каждые N-циклов переводить на другую ветку работы (делай сначала одно, а потом после 10 раз делай другое). В бесконечном все понятно, мы вводим переменную и её увеличиваем. А в многопотоке как? Делать переменную и писать в таблицу, далее каждый поток обращается к этой таблице и смотрит по какому кругу идти?
Объясните, пожалуйста, логику работы в многопоточном режиме. Сколько читал и пока только запутался.
Сейчас я сделал проект в бесконечном цикле, который работает с Google таблицами и на каждом круге прибавляет значение переменной на 1, далее снова проходит круг и уже берёт данные с ячейки 2 и т.д..
Я так понимаю, что в многопоточном режиме и вообще бесконечные циклы - это неправильно. Т.е. мне надо передать проект в конечный и уже запускать его? Но тогда появляются вопросы.
1. Как мне упорядочить потоки, чтобы они учитывали друг друга? (первый поток взял цифру 1, второй цифру 2 и т.д.). Пока вижу какой-то костыль с подгрузкой паузы (10 сек + переменная в шаге) и связку взять данные - записать новые данные (первый поток берёт цифру 1 и пишет вместо неё цифру 2, а второй поток в это время ждет и когда обращается к google таблице там уже цифра 2). Но такое решение похоже на именно костыль
2. Я хочу каждые N-циклов переводить на другую ветку работы (делай сначала одно, а потом после 10 раз делай другое). В бесконечном все понятно, мы вводим переменную и её увеличиваем. А в многопотоке как? Делать переменную и писать в таблицу, далее каждый поток обращается к этой таблице и смотрит по какому кругу идти?