เจอรูปอธิบายเรื่อง Program vs Process vs Thread ใน Twitter
ซึ่งเข้าใจง่ายดี
โดยที่

  • ในแต่ละ program ประกอบด้วยชุดคำสั่งต่าง ๆ และทำการจัดเก็บลงใน disk
  • ในแต่ละ program นั้นสามารถมีมากกว่า 1 process ทำงานอยู่
  • ในแต่ละ process นั้นจะถูก load ลงไปใน memory
  • ในแต่ละ process จะมีหลาย ๆ thread ทำงานอยู่ ดังนั้นโดยปกติ ถ้า process ตาย thread ก็ตายตามไปด้วย
  • ในแต่ละ thread สามารถติดต่อสื่อสารกันได้
  • การ switch context ไปมาระหว่าง process จะเปลืองทรัพยากรมาก ๆ