summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/ext/Thread/unsync2.t
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/perl5/ext/Thread/unsync2.t')
-rw-r--r--contrib/perl5/ext/Thread/unsync2.t36
1 files changed, 36 insertions, 0 deletions
diff --git a/contrib/perl5/ext/Thread/unsync2.t b/contrib/perl5/ext/Thread/unsync2.t
new file mode 100644
index 0000000..fb955ac
--- /dev/null
+++ b/contrib/perl5/ext/Thread/unsync2.t
@@ -0,0 +1,36 @@
+use Thread;
+
+$| = 1;
+
+srand($$^$^T);
+
+sub printargs {
+ my $thread = shift;
+ my $arg;
+ my $i;
+ while ($arg = shift) {
+ my $delay = int(rand(500));
+ $i++;
+ print "$thread arg $i is $arg\n";
+ 1 while $delay--;
+ }
+}
+
+sub start_thread {
+ my $thread = shift;
+ my $count = 10;
+ while ($count--) {
+ my(@args) = ($thread) x int(rand(10));
+ print "$thread $count calling printargs @args\n";
+ printargs($thread, @args);
+ }
+}
+
+new Thread (\&start_thread, "A");
+new Thread (\&start_thread, "B");
+#new Thread (\&start_thread, "C");
+#new Thread (\&start_thread, "D");
+#new Thread (\&start_thread, "E");
+#new Thread (\&start_thread, "F");
+
+print "main: exiting\n";
OpenPOWER on IntegriCloud