2008/12/16 Иван Соколов <[email protected]>: > Приветствую. > > Заинтересовался вот этой штукой. > Замена потокам в перле. > > Написал скрипт (Во вложении), который запускает несколько потоков. > Каждый поток спит ( sleep int(rand(5)) ) и печатает строчку типа async n, r > Так вот по идее все эти потоки должны запуститься параллельно, > но получается, что каждый поток ждет предыдущего, пока он завершится. > Но это же не параллельно нифига! Или я какой-то хитрый флаг забыл поставить? > Или чего-то недопонял? Недопонили чуть-чуть. Треды в перле сосут. Тут появляются корутины - все в одном процессе (значит многоядерность не поможет) и отдавать управление надо ручками. По умолчанию по sleep управление не передается. Как указали ниже, есть sleep, который передает управление.
> Или для этого нужно многоядерный процессор?? > > В общем как сделать чтобы оно действительно было параллельным? > > С уважением, > Иван. > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > > -- Best regards, Ruslan. -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
