weblog of key_amb

主にIT関連の技術メモ

Perlでスレッド処理

ithreadsというのを使うと、スレッド処理ができる

use threads;

スレッド間でデータを共有するには、threads::sharedを使う。

use threads;
use threads::shared;

my ($value, @array, %hash);
share($value);
share(@array);
share(%hash);

スカラー変数しか共有できないので注意。

排他制御を行うには、Thread::SemaphoreやThread::Queueを使う。
詳しくは、リンク先参照。