Trớc khi hiểu hoàn toàn về luồng, chúng ta sẽ tìm hiểu thế nào hệ điều hành Windows hoạt động nh thế nào trong chế độ đa nhiệm:
I.1. Đa nhiệm ( multitasking )
Trớc hết ta có thể nói Windows là một hệ thống đa nhiệm. Trong chế độ đa nhiệm, hệ điều hành sẽ phân bố thời gian giữa các tiến trình và quyết định tiến trình nào nên đợc chạy kế tiếp khi tiến trình hiện hành kết thúc thời gian đợc chia sẻ trên vi xử lý. Do đó hệ điều hành ngắt tiến trình đều đặn giữa các khoảng thời gian để đa tiến trình kế tiếp trong hàng đợi vào thực hiện vì vậy không có tiến trình nào có độc quyền chiếm CPU tại bất cứ thời điểm của thời gian. Số lợng thời gian đa tới mỗi tiến trình phụ thuộc vào bộ vi xử lý và hệ điều hành. Thời gian xử lý cho mỗi tiến trình rất nhỏ điều này đa ra cảm tởng rằng một tập hợp các tiến trình chạy đồng thời nhng thực tế mỗi tiến trình chạy trong môt số miligiây nào đó sau đó tới tiến trình khác và sự chuyển đổi này xảy ra rất nhanh. Đây là phơng cách mà các Windows 95/98/NT hay ngay cả Unix dùng để quản lý các tiến trình. Tuy nhiên ở các hệ điều hành ban đầu nh Win 3.x và DOS thì nó lại quản lý ở chế độ đơn nhiệm (monotasking). Trong chế độ này mỗi tiến trình có thể điều khiển CPU trong bao lâu mà nó cần, với cách thực hiện này một tiến trình ngăn chặn các tiến trình khác đợc xử lí đồng thời.
I.2. Đa luồng ( multitasking)
Không gian bộ nhớ, trong đó một ứng dụng đợc thực hiện đợc gọi là tiến trình (process). Trong phạm vi một tiến trình thờng có nhiều công việc cần đợc thực hiện. Quá trình thực hiện một công việc đợc gọi là một luồng (tiểu trình). Các công việc trong một tiến trình có thể thực hiện tuần tự, lúc này chỉ có một luồng chạy thực hiện