由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - Perl多线程的问题
相关主题
用多线程怎么比单线程还慢呢?p-thread profiling
多线程编程前景如何?【求助】Fortran多线程执行效率问题
c++下如何实现多线程?为什么VC6调试多线程Debug菜单下的Threads是灰的?
写thread safe程序现在也是程序员必须要掌握的了吧多线程有什么优化的方法?
如果一个core,多线程还有必要吗?多线程计时不准std::thread尝鲜 问题
rand() in multitreading推荐一下C++多线程的书吧
多线程 编程,process 和 thread 的一些问题。C++多线程和硬件的关系
多线程的thread safety checking tool?问个白痴问题
相关话题的讨论汇总
话题: locker话题: working话题: perl话题: threads话题: print
进入Programming版参与讨论
1 (共1页)
c**y
发帖数: 2282
1
下面这个简单的程序是我问题的简化版。我期待着多个线程可以共享这个变量$locker
,可是看起来似乎每人有一份独立的$locker,为何呢?
my $locker=0;
sub worker
{
my $id=shift;
$locker++;
print "#$id working :$locker\n";
sleep(int(rand(10)));
$locker--;
print "#$id exit :$locker\n";

}
for my $i (1..10)
{
$workers[$i] = threads->create('worker', "$i");
}
for my $i (1..10)
{
$workers[$i]->join();
}
print "over\n";
运行结果是:
#1 working :1
#2 working :1
#2 exit :0
#3 working :1
#4 working :1
#5
j*a
发帖数: 14423
2
看文档啊
http://perldoc.perl.org/threads.html
DESCRIPTION
Perl 5.6 introduced something called interpreter threads. Interpreter
threads are different from 5005threads (the thread model of Perl 5.005) by
creating a new Perl interpreter per thread, and not sharing any data or
state between threads by default.

locker

【在 c**y 的大作中提到】
: 下面这个简单的程序是我问题的简化版。我期待着多个线程可以共享这个变量$locker
: ,可是看起来似乎每人有一份独立的$locker,为何呢?
: my $locker=0;
: sub worker
: {
: my $id=shift;
: $locker++;
: print "#$id working :$locker\n";
: sleep(int(rand(10)));
: $locker--;

1 (共1页)
进入Programming版参与讨论
相关主题
问个白痴问题如果一个core,多线程还有必要吗?
有人熟悉Python里的threading吗rand() in multitreading
c++多线程的工作面试一般会问哪些问题?多线程 编程,process 和 thread 的一些问题。
如果面试一个候选人,算法答的很好,java多线程没什么经验 回答的不上路 你会招么多线程的thread safety checking tool?
用多线程怎么比单线程还慢呢?p-thread profiling
多线程编程前景如何?【求助】Fortran多线程执行效率问题
c++下如何实现多线程?为什么VC6调试多线程Debug菜单下的Threads是灰的?
写thread safe程序现在也是程序员必须要掌握的了吧多线程有什么优化的方法?
相关话题的讨论汇总
话题: locker话题: working话题: perl话题: threads话题: print