Глобальные переменные и многопоток



  • Собственно, решил написать скрипт, посмотрел, что для лучшей работы, стоит реализовать чтобы регистрация и лайкер работали в 1-ом потоке, проверка сообщений во 2-ом, отправка 3 -ем. Во 2 и 3 потоках встроено вечное ожидание. Решил запустить, получил вылет. Начал гадать. Зделал вот такой простой пример использования глобальной переменной, которая была создана и получена из 1-го потока и должна быть использована во 2-ом, после её обозначения, но скрипт крашится и всё.



  • @KoliaPotexin said in Глобальные переменные и многопоток:

    Собственно, решил написать скрипт, посмотрел, что для лучшей работы, стоит реализовать чтобы регистрация и лайкер работали в 1-ом потоке, проверка сообщений во 2-ом, отправка 3 -ем. Во 2 и 3 потоках встроено вечное ожидание до изменения получения данных в глобальную переменную, после они начинают работать. Решил запустить, получил вылет. Начал гадать. Зделал вот такой простой пример использования глобальной переменной, которая была создана и получена из 1-го потока и должна быть использована во 2-ом, после её обозначения, но скрипт крашится и всё.

    Добавь сон в ожидание



  • @Fox Спасибо, ожидание помогло как в тестовом скрипте, так и изначальном.
    Можно узнать, почему без пауз эта конструкция считается не рабочей?



  • @KoliaPotexin said in Глобальные переменные и многопоток:

    @Fox Спасибо, ожидание помогло как в тестовом скрипте, так и изначальном.
    Можно узнать, почему без пауз это конструкция считается не рабочий?

    Потому что происходит бесконечный цикл без задержки. Это вызывает зависание интерфейса, то есть если подождать, то интерфейс отвиснет когда произойдёт выход из цикла.



  • @Fox Забавно, но был либо мгновенный вылет, либо задержка и вылет.
    Не знаете ещё хорошие конструкции подходящие к моему шаблону? Заинтересовала возможность давать каждому потоку свою задачу, довольно полезная возможность



  • @KoliaPotexin said in Глобальные переменные и многопоток:

    @Fox Забавно, но был либо мгновенный вылет, либо задержка и вылет.

    Не помню, это где то в винде настраивается, чтобы приложение не завершалось при зависании

    Не знаете ещё хорошие конструкции подходящие к моему шаблону? Заинтересовала возможность давать каждому потоку свою задачу, довольно полезная возможность

    Не уверен что это именно полезная возможность. Вы обрисуйте задачу которую хотите решить



  • @KoliaPotexin, @GhostZ said in Несколько потоков - разные функции:

    @jjsf, @ghostz said in Specific function for each thread:

    @hifive,
    Example # 1 splitting threads into 2 functions action_test1.xml.
    Example # 2 splitting threads into any number of functions action_test2.xml.

    Пример №1 разделение потоков на 2 функции
    Пример №2 разделение потоков на сколько угодно функций


Log in to reply
 

  • 16
  • 2
  • 2
  • 7
  • 8
  • 6
  • 8
  • 2