Okay, What is multithreading, and don't be stupid(no offence if you started writing a quick reply already), i mean like what is threading, THEN what is multithreading
The ability of an operating system to execute different parts of a program,
called threads, simultaneously. The programmer must carefully design the program in such a way that all the threads can run at the same time without interfering with each other. Answer
Taking a computer job/process, and coding it so the job utilitzes multiple resources for execution, this finishing faster.
Well put Lolland.
Extending that answer to an example, I'll take Erinador's thread about multi-threading. In his form we see two seperate scenarios; One with multi-threading, one without.
Utilizing only a single thread means that every action in that thread must be completed before the next one is started. In Erinador's example, this was shown in the "WITHOUT MULTITHREADING" section. We can see that when he pressed the button, the whole applications was based on a single thread and so the entire application froze for 5 seconds when he used "Threading.Thread.Sleep(5000)". In his example you found you couldn't click the 2nd button straight after the first could you? This is because the application was only utilizing a single thread and had to carry out the sleep command before allowing any further actions to take place.
Multi-threading, however, uses multiple threads to allow several actions to run concurrently. Although you might want to pause between the actions executed by a Button_Click event, you may not necessarily want everything else to pause too. By executing the "pause" in a separate thread, the button_click event still encounters a pause between actions, but the application itself is free to run smoothly.
Sorry, I'm not sure how well I did at explaining that, I always seem to waffle on when trying to make an effective explanation and end up screwing it up. If there are any flaws in my reasoning could someone care to point it out?