एक नॉन-प्रिएम्पटिव मल्टी टास्किंग सिस्टम भी एक सरल नियंत्रण लूप योजना के समान ही होता है, अंतर केवल इतना है कि लूप एक API में छिपा होता है। प्रोग्रामर कार्यों की एक श्रृंखला को परिभाषित करता है और प्रत्येक कार्य को अपना स्वयं का एक वातावरण प्राप्त होता है, जिसमें इसे "क्रियान्वित" किया जाता है। जब कोई कार्य निष्क्रिय (Idle) होता है, तो वह एक निष्क्रिय रूटीन को कॉल करता है, जिसे सामान्यत: "pause", "wait", "yield", "nop" ("नो ऑपरेशन" का संक्षिप्त रूप) आदि कहा जाता है।

इसके लाभ और हानियां नियंत्रण लूप के समान ही हैं, अंतर केवल इतना है कि नया सॉफ्टवेयर जोड़ना सरल होता है, केवल एक नया कार्य लिखा जाता है या इसे क्यू-इन्टरप्रेटर में जोड़ दिया जाता है।

प्रिएम्पटिव मल्टी-टास्किंग या मल्टी-थ्रेडिंग
सहकारी मल्टी-टास्किंग
डीबगिंग
परिधीय उपकरण