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

Преимущества:

  • Лучшее общение
  • Упрощение структуры программы
  • Минимальное использование системных ресурсов
  • Превосходная скорость отклика приложений
  • Повышенная скорость отклика сервера

Хорошим примером возможностей многопоточности является текстовый процессор. Когда вы печатаете в документе Word, вы можете видеть клавиши, которые вы вводите, на экране по мере их ввода. Если вы ошиблись в написании слова, оно будет подчеркнуто красным. Это один из примеров многопоточности. Компьютер не копирует текстовый документ, который вы печатаете. Он использует те же данные, чтобы видеть нажатия клавиш и информировать пользователя о любых словах с ошибками, используя многопоточность. Представьте, что вам нужно сохранить документ и перейти в другое приложение, чтобы увидеть свои орфографические ошибки, а затем сохранить документ, чтобы добавить графику позже!

Совет профессионала:

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

Например, предположим, что вы создаете два потока, объединенные усилия которых состоят в том, чтобы сложить все числа от одного до миллиона. Допустим, вы делаете одну нить, которая добавляет первую половину, а вторая нить добавляет вторую половину. Если у вас есть общая переменная «a», в которую вы сохраняете числа, некоторые данные могут быть потеряны, если два потока добавляются одновременно. Если вы напишете код так, чтобы только один поток мог добавлять значение в любой момент времени, вместо того, чтобы одна и та же переменная перезаписывала его одновременно, вы будете выполнять операции в том же порядке.

Подписывайтесь на нас в Twitter 🐦 и Facebook 👥 и Instagram 📷 и присоединяйтесь к нашим Facebook и Linkedin Группы 💬 .

Чтобы присоединиться к нашему чату команды Slack в сообществе 🗣️ прочтите наши еженедельные темы о Фавнах 🗞️, и присоединитесь к сообществу 📣 нажмите здесь⬇

Если этот пост был полезен, пожалуйста, нажмите несколько раз кнопку хлопка 👏 ниже, чтобы выразить поддержку автору! ⬇