Perl 6 Concurrency and Parallelism

This 1-day workshop explores a range of Perl 6 language features and modules for achieving asynchrony, coping with concurrency, and profiting from parallel processing. After a touch of theoretical background, the workshop moves through a range of different problems, showing how to effectively solve them in Perl 6. Taught by a Perl 6 concurrency designer and compiler implementer, participants will not only learn how to use Perl 6 concurrency features, but also the thinking behind them.



Participants should have some amount of familiarity with Perl 6 programming. At a minimum, one should be aware of common data types and control flow constructs, and be comfortable with basic use of the object-oriented aspects of the language.

Topics covered

  1. The differences and relationships between concurrency, parallelism, and asynchrony
  2. Atomicity, races, and non-determinism
  3. Concurrency control: locks, monitors, concurrent data structures
  4. Task parallelism: basics, divide and conquer, non-blocking await
  5. Data parallelism: parallel loops, parallel list processing
  6. Reactive programming: seeing the world in events, Supply and Supplier, the react/supply/whenever syntax
  7. Asynchronous processes, sockets, HTTP requests, and more
  8. Patterns and experiences from real-world use

About the teacher

Jonathan Worthington was involved in the design of many of the Perl 6 concurrency features, and carried out a significant amount of the work on their implementation. He is the architect of Cro, a set of distributed systems libraries that are built on the Perl 6 concurrency model, and has recently developed various applications that make use of Perl 6 concurrency features. Up until the end of 2015, Jonathan was a regular teacher of software development topics; nowadays, he spends most of his time building stuff.

Date and time

This workshop is held on 6 August from 10:00 to 18:00.


Radisson Blu Daugava hotel, our venue.


The one-day workshop costs €150.00 per attendee.


Terms and conditions

During the day of the workshop, we will serve two coffee breaks. Lunch is not included in the ticket price. The exact time and duration of the breaks is defined by the trainer.

The mininum number of attendees for this workshop is 5. The class will be held only if the minumum number of tickets are sold before 1st June 2019. In the oppisite case, the class is cancelled and your purchase is fully refunded. PerlCon does not reimburse costs of travel or accomodation costs.

You can cancel your ticket before 1st June with no cancellation fee. If cancelled from 1st June to 25th July, 75% of the ticket price is refunded. Later cancellations are non-refundable.