- how are threads/processors allocated?
- in a core i7 with quad core/8 threads, are there any basic rules anyone can explain to me about splitting a single job across multiple threads or one thread/processor per job?? etc
Thread spawning or creation is determined by the application vendor at time of development. Intel has been promoting parallel or highly threading programming for quite some time now - include toolkits, samples, etc.
Thread scheduling\processing is done by processor - if a program is multithreaded, the processor handles what threads on what cores, etc. If multiple single threaded programs - the processor will attempt to distribute the applications across cores.
Priority or affinity of threads per core on the processor can be done at the operating system level (i.e. Windows TaskManager)