Если указан только атрибут locked, то интерпретатор Perl блокирует эту подпрограмму, как при использовании конструкции lock (&асknowledge). Создание подключения подобным способом позволяет быстро получить доступ к RSS каналам и узнать о новинках сотовых телефонов или другие новости в режиме реального времени. Основное различие здесь состоит в том, что, при применении сразу двух атрибутов, loсked и method, несколько потоков могут выполнять эту подпрограмму одновременно при условии, что они работают с разными объектами. Если подпрограмма отмечена только атрибутом locked, то к ней может получить доступ только один поток, даже если все потоки работают с разными объектами.
Функции и методы модуля Thread
API-интерфейс поддержки потоков включает также несколько других важных частей; и частности, в нем предусмотрены способы, позволяющие потокам сигнализировать друг другу при возникновении каких-либо конкретных состояний. Ниже приведен очень краткий обзор API-интерфейса поддержки потоков. Дополнительная информация может быть получена в справочном руководстве perlthread, а другие средства будут описаны более подробно но мере их использовании.
Создает новый поток выполнения и возвращает объект Thread. Новый поток немедленно приступает к выполнению подпрограммы, заданной в качестве первого параметра, передавая ей параметры, перечисленные в необязательном втором и последующих параметрах.
$return_value = $thread->join()
Метод join () ожидает завершения работы указанного потока. Возвращаемое значение представляет собой результат, возвращенный подпрограммой, указанной при создании потока (если эта подпрограмма предусматривает возврат результата). Если работа потока еще не закончена, то метод join () блокируется до ее завершения; способа неблокирующего подключения с помощью метода join () к конкретному потоку не существует.