Okay, so I realized that I've never really sat down to think about threads and what they are at a lower level which is kind of strange considering how much I talk about CUDA and I've multithreaded in C++ before.
Anyway, as I understand it, executables are a sequence of instructions for a processor. I'm cool with a processor being like a giant circuit that if given the proper series of relatively high and low charges, it does something unique.
I think threads are OS specific. Or rather, it's a thing that's created as an abstraction by the OS to handle multiple executables on the same machine. I mean, could you imagine a computer that can only handle one executable at a time?
I've heard the word context used before and I think this ties in so I think an OS abstracts an executable as a thread, something it can track and schedule things around. This way, you'd be able to execute a memory read instruction, have the executable pause and then some other executable's instruction gets processed while the original thread waits for the memory to come across the motherboard.
I guess that would be why people would say, "context" as each thread would be in its own little "universe", so to speak.
Or maybe I botched all of that because I just don't know, man. Was I right though?