Проблемы подключения Perl-скриптов (Snap Surveys)

Когда вы выполняете что-то синхронно, вы ждете его завершения, прежде чем перейти к другой задаче. Когда вы выполняете что-то асинхронно, вы можете перейти к другой задаче до ее завершения.

Как говорится, в контексте компьютеров это означает выполнение процесса или задачи на другом «потоке». Поток представляет собой серию команд (блок кода), которые существуют как единое целое. Операционная система может управлять несколькими потоками и назначать потоку кусок («срез») процессорного времени перед переключением на другой поток, чтобы дать ему поворот сделать некоторую работу. По своей сути (pardon pun) процессор может просто выполнить команду, у нее нет понятия делать две вещи за один раз. Операционная система имитирует это путем распределения срезов времени на разные потоки.

Теперь, если вы введете несколько ядер / процессоров в микс, тогда все может произойти в одно и то же время. Операционная система может выделять время на один поток на первом процессоре, а затем выделять один и тот же блок времени на другой поток на другом процессоре. Все это позволяет операционной системе управлять завершением вашей задачи, пока вы можете продолжать свой код и делать другие вещи.

Асинхронное программирование - сложная тема из-за семантики того, как вещи связаны вместе, когда вы можете сделать их в одно и то же время. Существует множество статей и книг по этому вопросу; посмотрите!

0
задан markusmayhem 25 February 2015 в 15:18
поделиться