#author("2020-11-14T02:57:27+00:00","","") #topicpath //////////////////////////////////////////////////////////////////////////////// * 目次 [#p691c381] #contents(); //////////////////////////////////////////////////////////////////////////////// * Thread [#w8ff014e] //============================================================================== ** thread の生成 [#vb28c0fa] - threads を使う。 use threads; # thread の生成 my ($thread_1) = threads->new(\&thread_func, "t1"); # thread 終了の待ち合わせ $thread_1->join; # thread 関数 sub thread_func { # 処理 } //============================================================================== ** queue による通信 [#lee56779] - Thread::Queue を使う。 use threads; use Thread::Queue; my ($queue_a) = new Thread::Queue; # thread 生成時に、 thread 関数の引数として Queue を渡す: my ($thread_a) = threads->new(\&thread_func_a, $queue_a); $thread_a->join; - Queue に積む $queue_a->enqueue(<データ>); - Queue から引き抜いて $data に格納する $data = $queue_a->dequeue();