GOOGLE ADS

воскресенье, 8 мая 2022 г.

Почему мы должны использовать Присоединение к тредам?

У меня есть 2 потока T1 и T2, у обоих разные задачи, поэтому обычно мы предпочитаем выполнять эту задачу с помощью соединений потоков.

Но мы можем сделать это без использования join(). Мы можем добавить код потока T2 внутрь потока T1. Какая разница?


Решение проблемы

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

Пример: если вы запускаете новый поток в основном потоке, и оба выполняют некоторую работу, вы присоединяетесь к основному потоку только что созданного, заставляя основной поток ждать завершения второго потока. Таким образом, вы можете выполнять некоторую работу параллельно, пока не достигнете соединения.

Если вы разделите задание на две части, которые выполняются разными потоками, вы можете получить улучшение производительности, если

  • потоки могут работать независимо, т.е. если они не полагаются на данные друг друга, иначе вам придется синхронизироваться, что снижает производительность

  • JVM может выполнять несколько потоков параллельно, т. е. у вас есть гиперпотоковый/многоядерный компьютер, и JVM использует это.
  • Комментариев нет:

    Отправить комментарий

    Laravel Datatable addColumn returns ID of one record only

    Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...