What is the difference between a process and a thread?
Process is defined as the virtual address space and the control information necessary for the execution of a program while Threads are a way for a program to split itself into two or more simultaneously running tasks. In general, a thread is contained inside a process and different threads in the same process share some resources while different processes do not.
In terms of Loadrunner, when we run Vuser as a process, LoadRunner creates 1 process called mmdrv.exe per Vuser. So if we have 10 Vusers, we will have 10 mmdrv.exe processes on our machines.
while when we run Vuser as a thread, LoadRunner creates 1 thread per Vuser. So if we have 10 Vusers, then we will have 1 process with 10 threads running inside it if the limit is 10 threads per process.
Running Vuser as a thread is more memory efficient that running Vuser as a process for obvious reasons that less memory resources are utilized when we run them as thread. I read somewhere that running as a process has an advantage that system becomes more stable. Now how is that stability achieved? I am not sure…Can someone clarify this point to me?
Note that while running Java Virtual User, JVM’s are loaded per process and will follow the same principle above.
Related: What is RAM, Memory Usage, CPU Usage, Paging in terms of LoadRunner?
ebook Performance Testing Guidance for Web Applications
Scott Barber has released a book named “Performance Testing Guidance for Web Applications”, on the approach, planning and analysis for Load Testing. As they say, the book is “tool agnostic” or tool independent. 
Though I found that this book becomes a bit repetitive at some places, I would recommend it highly, if you are starting out in the field of load testing, irrespective of whether you are working on LoadRunner or not.
What did you think of this book? Discuss your views through the comments section below.
Those who want to purchase the print edition from Amazon, can purchase it here.
