Finally felt like blogging again so here it is a new post, a new topic. This time it is more towards the technical side. For the past so many weeks I had this stupid doubt on threading concepts and threads. Most of the techies would understand what a thread is but those who haven't heard of the term at all its not a problem. You all could still give me some general comments which "might" clear my doubt. Basically a thread is a smallest unit of processing that can be scheduled by an operating system. Well! this is the definition but to explain in simple terms it is a process in your windows 7, mac. OK! so what is a process? It an unit of work or rather in simplest terms its one of your applications like Microsoft word or Tetris game. There are quite a few programming languages which would support threading. Well! I have heard most of my professors say threading is a logical process happening in the backend and there is no way to control it while it runs. My first questions Then what is the use of it? Most of the answers would be concurrent programming improves efficiency, makes your applications run faster blah blah blah. But still no one has answered my question(which is really simple) If you don't have the rights to control something then why use it? Now coming to the next doubt/question which is as stated by me "In Java you could start a thread saying .Start() or combine threads to run but applying the same parallel processing in c++ there are no inbuilt functions saying .start() instead you just use an API called openmp where you just specify #pragma parallel num_thread(n). Why use such API even? You dont even have an idea when the threading starts and stuff like that. Damn!! I am starting to realise one thing. "Never learn parallel programming" else such stupid doubts (which none can answer) arise.
P.S: Non techies. Sorry!! I got too carried away with the post that I forgot to explain few alien terms.