In multi core processor like intel core i3 we have 2 physical core in the same silicon die that means two physical CPU. So two thread of same process can run simultaneously at particular moment of time. But my question is that can two process/program( not thread) run in two different core at particular instance of time?
- Intel® Core™ m
You asked: But my question is that can two process/program( not thread) run in two different core at particular instance of time?
In a parallel python program I have achieved running 1 process per core. You can view my code here: https://github.com/zach010/PrimeOptimus
The way a multi cored CPU works with programs "as far as I know with Python" is that single process' cannot utilize more than one core unless you split the program into multiple processes and run them in parallel because of the global python-interpreter lock that resolves ram-memory corruption issues. If one were to write a program in python without utilizing the multiprocessing module, it would only run on one core and the rest of your CPU's cores would sit unused. Your question: can two process/program( not thread) run in two different core at particular instance of time? ANSWER: YES. A good OS will distribute different programs with different requirements of loads to different cores if a certain core is already fully loaded. To see for yourself (on Windows) open a task manager and select the performance tab and right-click the graph to view individual core/logical processors in separate graphs. Open a single program and watch, then open more than one and it will show more activity across more cores.