Skip to content

Scratch is not multithreaded #4

@gradylink

Description

@gradylink
  • multithreading

(from the capabilities section)

I would like to note that Scratch is not multithreaded; Scratch runs one block at a time, that's why there are no race conditions. Stacks run in the order of when the hat block was pressed. Then every frame, one block is run per stack that is actively running, unless it's running without screen refresh. If it's running without screen refresh, it runs all those blocks in one frame instead of running them each one frame apart. This is actually what makes full/true transpilers pretty much impossible, there's no other programming language (besides Snap!) that executes code in this way.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions