I am confused by the process and thread when i try to develop an android app ? for my understanding, a 'process' is the environment that allocated by the OS so that my program can use the limited resource within the environment (Process) for example, memory, CPU, hard disk space (Please correct me if i am wrong, Thanks a Lots), while the thread mean the execution of program by using the resource within the environment (Process) So now, if i create more than one thread within the process, my program (activity) still limited by the resource i am able to utilize, that mean my program (activity) will not become faster if i create more than one thread because by using the same amount of resources, i can only finish certain amount of task. So what is the purpose i create more than one thread ? i am thinking about this question and come with a theory as below : when a task of a program (activity) is running, it usually not utilize all the resources within the process, so it is waste the next task just wait there until the first task is completed, so a developer want to create another thread to run simultaneously to fully utilize the resource. Please correct me if i am wrong. Thanks !!