13.07.2015 Views

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

thread 2: frob 12thread 3: frob 13done is 3不 过 如 果 你 这 么 运 行 :for my $i (1..3) {push @t, async {lock &frob;frob($i);};}for (@t) { $_->join }print "done is $done\n";输 出 是 下 面 的 东 西 :thread 1: frob 1thread 1: frob 11thread 2: frob 2thread 3: frob 3done is 117.2.2.4 locked 属 性尽 管 你 必 须 遵 守 子 过 程 锁 , 但 是 没 有 什 么 东 西 让 你 一 开 始 就 锁 住 他 们 。 你 可 以 说 锁 的 位 置 是劝 告 性 的 。 不 过 有 些 子 过 程 确 实 需 要 在 调 用 之 前 把 它 们 锁 住 。子 过 程 的 locked 属 性 就 是 干 这 个 的 。 它 比 调 用 lock &sub 快 , 因 为 它 在 编 译 时 就 知 道了 , 而 不 只 是 在 运 行 时 。 但 是 其 性 质 和 我 们 提 前 明 确 地 锁 住 它 是 一 样 的 。 语 法 如 下 :sub frob : locked {466

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!