Concurrent computing: Difference between revisions

Content added Content deleted
m (Updated code to match task, removed output as defined by task.)
m (Updated code to match task, removed output as defined by task.)
Line 1,295: Line 1,295:
Using POSIX threads:
Using POSIX threads:
<lang Pike>int main() {
<lang Pike>int main() {
({
// Start threads and wait for them to finish
Thread.Thread(write, "A"),
({
Thread.Thread(write, "Enjoy\n"),
Thread.Thread(write, "B"),
Thread.Thread(write, "Rosetta\n"),
Thread.Thread(write, "C")
}) -> wait();
Thread.Thread(write, "Code\n")
})->wait();
exit(0);
// Exit program
exit(0);
}</lang>
}</lang>
Output:
Enjoy
Rosetta
Code

Using Pike's backend:
Using Pike's backend:
<lang Pike>int main(int argc, array argv)
<lang Pike>int main(int argc, array argv) {
call_out(write, random(1.0), "A");
{
call_out(write, random(1.0), "Enjoy\n");
call_out(write, random(1.0), "B");
call_out(write, random(1.0), "Rosetta\n");
call_out(write, random(1.0), "C");
call_out(write, random(1.0), "Code\n");
call_out(exit, 1, 0);
call_out(exit, 1, 0);
return -1;
return -1; // return -1 starts the backend which makes Pike run until exit() is called.
}</lang>
}</lang>
Output:
Rosetta
Code
Enjoy


=={{header|PowerShell}}==
=={{header|PowerShell}}==