Skip to content

Parallel threads on mailboxes #319

@heindel

Description

@heindel

The main unused potential of multiple mailboxes1 is a canonical division of (part of) engine state such that we can spawn several threads in parallel on several mailboxes during an isolated turn of an engine process. On the level of specs, we may want to have tasks as building blocks of actions.

In summary, I propose to have

  • parallel threads, each one working on a mailbox, only changing the mailbox state and queue, producing send and spawn request as usual, but not updating the environment of the "encompassing" engine
  • each action execution may involve several tasks

In particular, the current choice to combine several actions into a single one is flawed and should be fixed along the way.

This issue comes with a quick draft of code changes:
#303

Footnotes

  1. Right now, little use of mailbox identifiers is made. That may have several reasons. One may be that having a natural number alone is not such a great design choice.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions