This is a simple way of running ANY amount of threads (scripts running at the same time) without using clones. When you press the green flag, you will hear a nice sound that music people will identify as a 'C major' chord, where multiple (3) notes are played at the same time to form a more complex sound. Using multithreading, these notes can be run at the same time by looking them up from a list using the 'thread_id' (which i explain more further down). This technique is very useful if you for example want to play multiple notes at the same time using the music extension (as the demo does), or run any other scripts that take some time to run at the same time to make it faster, even if you don't know exactly how many scripts that will run. Because it's not using clones there are no limits on the amount of threads you can have (clones would limit that to 300). Although all threads can use the same local ('for this sprite only') variables, it is still possible to use the 'thread_id' argument to differentiate between threads, which i will explain in more detail soon. To use this, you can backpack the 'Threads' sprite and either start from that sprite or copy the scripts over into another sprite. Then you simply put all of your multithreaded code under the 'Thread (thread_id)' custom block, and then use the 'thread_id' argument to separate your threads (as mentioned above).
NOTE: This doesn't always work exactly as intended (due to limitations in Scratch not under my control, for more information please visit https://en.scratch-wiki.info/wiki/Concurrency), you might want to edit the 'Thread (thread_id)' block to run without screen refresh if your threads are long-running. (But no forever loops!) I came up with the method when i was working on an upcoming project and tried to find a way to play any number of notes at the same time, but i only found solutions for a fixed number of notes. So i came up with this solution and it worked.