小编zev*_*erg的帖子

Perl线程无法正确打印

如果在另一篇文章中有明确的例子,请告诉我.我遇到了来自我的线程的交错打印问题.我试图通过在所有线程中使用共享变量来控制我的线程.下面的伪代码突出显示了我的代码片段给我带来的问题.我已经尝试了一切让线程轮流等待打印.现在只有少数输出线被销毁.

#!/usr/bin/perl                                                                                                                                
use threads;
use threads::shared;

my $PRINTFLAG :shared = 1;

Run_Threads();

sub Do_stuff{

    lock($PRINTFLAG);
    cond_wait($PRINTFLAG) until $PRINTFLAG == 1;
    $PRINTFLAG = 0;
    print "$working\n";
    $PRINTFLAG =1;
}
Run Code Online (Sandbox Code Playgroud)

Sub生成线程.

sub Run_Threads{

    my @threads;

    for (my $i = 1; $i <= 5; $i++){
        push @threads, threads->create(\&Do_stuff);
    }

    foreach (@threads){
        $_->join;
    }
}
Run Code Online (Sandbox Code Playgroud)

printing perl file-io multithreading

3
推荐指数
1
解决办法
1896
查看次数

多态结构声明

我确信这个问题之前已经被问过并得到回答,但如果没有正确的术语,我在搜索时遇到困难。

我有两个独特的结构 A 和 B (不是类)。我的代码使用函数重载来以不同的方式处理结构。我不明白如何处理声明多态性。对于伪代码示例,我深表歉意。

if( flag ==1 ){
   declare stuct A scoped to main
}
else{
   declare stuct B scoped to main
}
Run Code Online (Sandbox Code Playgroud)

上面的伪代码将不起作用,因为声明的范围在 if 语句内。由于我试图描述的范围问题,我的“真实”代码无法编译。

编辑

澄清:

根据指定的标志(arg),我想声明两个不同的结构之一。一旦声明了正确的结构,所有多态性都已由操作重载处理。

谢谢

c++ polymorphism struct

1
推荐指数
1
解决办法
9670
查看次数

标签 统计

c++ ×1

file-io ×1

multithreading ×1

perl ×1

polymorphism ×1

printing ×1

struct ×1