शुरू में मैंने यह अध्याय धीमा करने वाले फैक्टर में डाला। लेकिन किताब की संरचना भरते हुए मैं इस नतीजे पर पहुँचा कि मल्टीटास्किंग अभी पूरी तरह समझी नहीं गई और बिना मौका दिए खारिज करना गलत होगा। ज़्यादातर लोग कहते हैं मल्टीटास्किंग असंभव है। मेरा मानना है कि ज़्यादातर को पता ही नहीं मल्टीटास्किंग क्या है और वे इस शब्द को कई अलग चीज़ों के लिए इस्तेमाल करते हैं।
अगर किसी से पूछो मल्टीटास्किंग क्या है तो जवाब होगा: एक साथ कई काम करना। दूसरी प्रोडक्टिविटी किताबें भी यही परिभाषा देती हैं। इस परिभाषा और कुछ एक्सपेरिमेंट से वे निष्कर्ष निकालते हैं कि मल्टीटास्किंग असंभव है। उलटे उनके मुताबिक सब बिगड़ता है।
मल्टीटास्किंग समझने के लिए कंप्यूटर से अनुरूपता लें — इस मामले में मैं कई कोच से ज़्यादा एक्सपर्ट हूँ। पता है आज के कंप्यूटर 50–60 साल पहले वालों से इतने तेज़ क्यों हैं? एक वजह बस ज़्यादा पावर। दूसरी: कंप्यूटर एक साथ कई टास्क कर सकता है, उनके बीच स्विच कर सकता है और पिछले कॉन्टेक्स्ट में तुरंत लौट सकता है। सोचो एक प्रोग्राम को दो डेटाबेस में रिक्वेस्ट भेजनी हैं, रिज़ल्ट प्रोसेस करने हैं और यूज़र को दिखाने हैं। पुराने कंप्यूटर सिर्फ क्रम से कर सकते थे; आधुनिक दो क्वेरी समानांतर चला सकते हैं और सबसे धीमी का इंतज़ार किए बिना रिज़ल्ट प्रोसेस और दिखा सकते हैं।
मैं पहले लिख चुका हूँ कि हमारा दिमाग न्यूरल नेटवर्क जैसा है, बस कहीं ज़्यादा जटिल। और किसी हद तक इंसान की तुलना कंप्यूटर से की जा सकती है। कंप्यूटिंग में एसिंक्रोनस, मल्टीथ्रेडिंग और पैरेललिज़म जैसी चीज़ें हैं। मैं संक्षेप में परिभाषा देता हूँ; याद रखने की ज़रूरत नहीं, हम सरल करेंगे।
अतुल्यकालिकता (asynchrony): एक टास्क करना मुख्य फ्लो को ब्लॉक नहीं करता। ऑपरेशन खत्म होने का इंतज़ार करने (जैसे डेटा लोड) की बजाय प्रोग्राम दूसरा काम कर सकता है।
मल्टीथ्रेडिंग: एक प्रोसेस के भीतर कई थ्रेड चलाना।
समानांतरता (parallelism): एक साथ कई टास्क करना, सिर्फ मल्टीकोर प्रोसेसर पर संभव। मल्टीथ्रेडिंग से अलग जहाँ थ्रेड एक कोर पर एक के बाद एक चल सकते हैं, समानांतरता का मतलब अलग थ्रेड अलग कोर पर एक साथ चलते हैं, जिससे स्पीड बहुत बढ़ती है।
तो मल्टीथ्रेडिंग और समानांतरता दोनों कई थ्रेड चलाने से जुड़े हैं लेकिन तरीके में फर्क; अतुल्यकालिकता इस बात से जुड़ी है कि टास्क बिना ब्लॉक किए कैसे मैनेज और चलाए जाते हैं।
सरलता के लिए हम सिर्फ अतुल्यकालिकता रखेंगे और मल्टीथ्रेडिंग व समानांतरता को एक में मिला देंगे — कह लो समानांतरता। इस अध्याय के लिए याद रखो: कम से कम दो तरह के टास्क हैं — मानसिक और शारीरिक, और उपभोक्ता/उत्पादक भी।
समानांतरता से शुरू करें, एक उदाहरण जहाँ "मल्टीटास्किंग" सच में हो सकती है: हम रोज़ शाम दाँत साफ करते हैं और एक नया विदेशी शब्द सीखते हैं। यह मल्टीटास्किंग है? मैं कहूँगा हाँ और नहीं। हाँ, क्योंकि हम एक ही वक्त की खिड़की में दो काम कर रहे हैं, दोनों फायदेमंद। नहीं, क्योंकि दाँत साफ करना आदत है और आदतें ऑटोमैटिक एक्शन हैं। दाँत साफ करना हमें उस शब्द पर पूरा ध्यान लगाने से नहीं रोकेगा। इस उदाहरण में दोनों टास्क स्वतंत्र समानांतर टास्क हैं जो एक ही समय स्लॉट में अच्छे से रहते हैं। क्यों? दो वजह। पहली: दाँत साफ करना आदत है, हम उस पर फोकस नहीं करते। दूसरी: यहाँ हमने शारीरिक और मानसिक एक्शन मिलाया। मेरी राय में विपरीत प्रकार के एक्शन मिलाना एक ही प्रकार के दो एक्शन से कहीं आसान। और उदाहरण जो नुकसान नहीं: दौड़ और पॉडकास्ट सुनो, टीवी देखो और ड्रॉ करो, लंच करो और पढ़ो, गाड़ी धो और अंग्रेज़ी सबक सुनो। ढेर सारे। ज़रूरी यह कि एक्शन टाइप में जितना हो सके अलग हों और अलग चैनल (आँख, कान, हाथ) इस्तेमाल करें।
दो शारीरिक चीज़ें एक साथ करने के मामले भी जाने जाते हैं: मिरर राइटिंग, दोनों हाथ से साइन। बेशक यह स्किल है जो ट्रेन करनी पड़ती है।
ऊपर के सारे समानांतरता उदाहरणों में मैंने या तो सिर्फ शारीरिक (मिरर राइटिंग) या शारीरिक+मानसिक मिश्रण (दाँत साफ + शब्द) दिए। सिर्फ मानसिक समानांतरता के उदाहरण नहीं दिए। अभी तक कई एक्सपेरिमेंट बताते हैं कि मानसिक मल्टीटास्किंग दो काम एक के बाद एक करने से बेहतर नहीं। शायद ऐसा ही है। लेकिन मैं मानता हूँ कि समस्या यह हो सकती है कि किसी ने दिमाग को मल्टीटास्किंग के लिए खास तौर पर ट्रेन नहीं किया। दिमाग उन थोड़े अंगों में है जो अपनी क्षमताओं से हैरान करता रहता है, खासकर जानबूझकर प्रैक्टिस और मानसिक ट्रेनिंग में। लंबे समय तक माना जाता था कि औसत इंसान सात से ज़्यादा अंक शॉर्ट-टर्म मेमरी में नहीं रख सकता। उसे यह कठिन लगता है: नए अंक बोले जाने के साथ-साथ वह पिछले अंक भूलने लगता है। लेकिन एक्सपेरिमेंट हैं जो दिखाते हैं कि इंसानी दिमाग काफी विकसित हो सकता है। इसके लिए किताब "फ्रॉग, एलिफैंट ऐंड ब्रोकली. हाउ टू लिव ऐंड हाउ नॉट टू" का ज़िक्र: एरिक्सन और चेज़ ने अपने एक्सपेरिमेंट का निष्कर्ष निकाला। उनसे पहले माना जाता था कि औसत इंसान 7 से ज़्यादा अंक शॉर्ट-टर्म मेमरी में नहीं रख सकता। सख्त ट्रेनिंग के बाद फैलूना ज़्यादा से ज़्यादा याद करने लगा। अपने पीक पर (200 घंटे प्रैक्टिस के बाद) वह 82 अंक याद कर सकता था। यह चमत्कार नहीं है यह साबित करने के लिए एरिक्सन ने दोस्त डारियो डोनाटेली को ट्रेन किया। पाँच साल ट्रेनिंग के बाद डोनाटेली 113 अंक दोहरा सकता था। दोनों ने साफ दिखाया कि 7 अंक की मानो अटूट सीमा एक ऑर्डर से ज़्यादा सुधारी जा सकती है। कभी π के 10,000 अंक याद करना रेकॉर्ड था; अब लोग 100,000 अंक बोल सकते हैं। लेकिन वह अलग बात है — लॉन्ग-टर्म मेमरी, और π बदलता नहीं। एरिक्सन हर बार अलग अंक पढ़ता था।
तो अभी कोई दिमाग की सीमा नहीं जानता। काफी ट्रेनिंग से मानसिक मल्टीटास्किंग बिल्कुल संभव हो सकती है।
अब अतुल्यकालिकता। याद दिला दूँ: पहला काम चल रहा हो तब कुछ और करने की संभावना। समानांतरता के उलट अतुल्यकालिकता पहले से ही न सिर्फ शारीरिक या मिश्रित बल्कि मानसिक टास्क के साथ अच्छी काम करती है। मान लो ऑफिस में बॉस का किसी टास्क पर जवाब आने का इंतज़ार है। भले जवाब 5–7 मिनट में आ जाए, इसका मतलब यह नहीं कि बैठे रहो। दूसरे टास्क पर स्विच करो और उसे आगे बढ़ाओ। बॉस का जवाब आने पर पहले मुद्दे पर लौट सकते हो। उसी मिनट लौटना ज़रूरी नहीं; बेहतर दूसरे टास्क को 5–10 मिनट और (या ज़्यादा) दो और उसे एक प्राकृतिक स्टॉपिंग पॉइंट तक ले जाओ।
अध्याय का सार। मल्टीटास्किंग हमेशा पचाने में मुश्किल टॉपिक है और अक्सर गलत या अधूरा समझा जाता है। मल्टीटास्किंग से दो चीज़ें मान सकते हैं: समानांतरता — अलग काम एक साथ करना; अतुल्यकालिकता — खाली वक्त से बचने के लिए कामों के बीच स्विच। समानांतरता एक साथ मानसिक टास्क के लिए बहुत अच्छी नहीं, लेकिन शारीरिक+मानसिक मिश्रण के लिए ठीक है। मैं यह नहीं कहता कि काफी ट्रेन्ड इंटलेक्चुअल क्षमता से प्रभावी मानसिक समानांतरता हासिल नहीं हो सकती। अतुल्यकालिकता हर तरह के एक्शन के लिए सूट करती है, लेकिन अगर स्विच इंटरवल बहुत कम है — बस कुछ मिनट — तो इस्तेमाल मत करो। लेकिन अगर इंटरवल 5–10 मिनट या ज़्यादा हैं तो अतुल्यकालिकता खाली वक्त कम करने और गैप को उपयोगी काम से भरने में मदद करेगी।