К Т П           План занятия                                                              1                                           Страницы  | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 |

5. Потоки и IPC

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

Отсюда следует основной вопрос: когда следует использовать потоки, а когда — процессы? Иногда ответ очевиден. Например, если вы разрабатываете Web-броузер и планируете осуществлять соединение с сервером через Интернет, очевидно, вам потребуется IPC. В других ситуациях ответ менее очевиден. Например, если требуется разработать программу, имитирующую работу фондового рынка, следует ли реализовать участников рынка как отдельные потоки, или будет лучше моделировать поведение каждого из них при помощи отдельного процесса? Во многих ситуациях выбрать подходящее решение непросто. Фактически всегда приходится выбирать между эффективностью и безопасностью. Если каждый из участников рынка будет представлен отдельным потоком, программа будет работать существенно быстрее. Обычно потоки обмениваются данными с максимально возможной скоростью.

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

 

 

 


Предыдущая        В начало страницы       Следующая
5