В сообщении от 1 мая 2009 вы написали: > Угу, писали. И степень переносимости нитей и механизмов их > синхронизации проходили на практике, спасибо. Если говорить о песнях...
Да, с этим не всё шоколадно. Но есть ведь средства (библиотеки) для того, чтобы облегчить работу программисту, скрыв от него тонкости реализации на разных системах. > Там, где не годится FSM, нужен не fork, а spawn или popen. А реализован > он через fork или через CreateProcess - уже не важно. В чистом виде FSM, если я думаю про то же, что и вы, далеко не всегда применим - он же не масштабируется на несколько процессоров. Если нужна такая масштабируемость, то процессы (нити) всё равно создавать придется. Да, работать нужно будет аккуратно, но что поделать, за все необходимо платить. > openMP, может, придумали и не дураки. А вот апологеты программирования > на нитях, как правило, дураки. И программы у них, как правило, не > работают. Вернее, у них на машине, в тепличных условиях да под > дебаггером, типа работают. А в реальной жизни - нет... А те, у кого > программы на нитях работают, потому что написаны правильно - почему-то > не апологеты. Может быть, потому что знают, какой это геморрой - > правильно написать программу с нитями, не проиграв при этом в скорости > альтернативам... Тут я спорить не буду. Разные задачи требуют разных решений. Для одних подойдет FSM, для других - нити. Вы же не будете реализовывать любой ресурсоемкий алгоритм (расчеты, обработка видеоб аудио и т.д.) на FSM ? Так же и не стоит пихать нити куда попало. Но утверждать, что что-то однозначно лучше (хуже) другого (без уточнения сфер применимости) - не совсем правильно.