কংক্রিট উদাহরণ
আমি কয়েকটি বাস্তব-বিশ্বের উদাহরণ যুক্ত করতে এবং সেগুলি সফ্টওয়্যার ইঞ্জিনিয়ারিং জগতের সাথে সংযুক্ত করতে চাই। প্রথমে এমন কিছু বিবেচনা করুন যা আমি আশা করি আপনার "সিঙ্ক্রোনাস" এর স্বজ্ঞাত সংজ্ঞাটির সাথে মেলে: কিছু পরিস্থিতিতে দমকলের ঝলকানি । দ্বিতীয়ত, 4x100 মহিলা অলিম্পিক রিলে রেস বিবেচনা করুন । তৃতীয়, সামরিক ফিল্ম থেকে সেই পুরানো ট্রপটি বিবেচনা করুন: "পুরুষ, আপনার ঘড়িগুলি সুসংহত করুন!"
এখন, আসুন কী ঘটছে তা ভাবি। এর দেখে এই সব আছে দ্বারা শুরু করা যাক প্রসেস অথবা সত্ত্বা সময় বাড়ানো । এটি বলার অর্থ নেই যে একটি বাটিটি "সিঙ্ক্রোনাস" এবং শিলাটি "অ্যাসিঙ্ক"। দ্বিতীয়ত, এটি ট্যাঙ্গো থেকে দুটি লাগে । আপনি বলতে পারবেন না যে "একজন রানার সিঙ্ক হয়"। কি সাথে সিঙ্ক? অবশেষে, দুটি প্রক্রিয়া একই সময়ে কিছু করার জন্য, যদি না তাদের ইতিমধ্যে ঠিক একই ফ্রিকোয়েন্সি এবং ধাপ থাকে, তবে তাদের উভয়কেই বা উভয়কে অপেক্ষা করতে হবে ।
বিশ্লেষণ
অভিধানের সংজ্ঞাটি যখন বলে যে দুটি সংস্থার সমন্বয় ঘটে "একই সময়ে ঘটে বা উপস্থিত থাকে", যা দমকল থেকে আলোর ধারণার সাথে খুব সুন্দরভাবে সারিবদ্ধ হয়। দুর্ভাগ্যক্রমে, আলোটি "সিঙ্কে থাকা" বলা ফায়ার ফায়ালাইয়ের আলো প্রক্রিয়াগুলি সিঙ্ক্রোনাইজড হওয়ার একটি opালু উপায় ।
সুতরাং কীভাবে একগুচ্ছ ফায়ারফ্লাইগুলি, যার কাছে সম্ভবত গাইড করার জন্য অ্যাপল স্মার্টওয়াচ এবং এনটিপি নেই, একই সাথে তাদের পিছনের প্রান্তগুলি ফ্ল্যাশ করার ব্যবস্থা করতে পারে? ওয়েল, এটি বেশ সহজ যদি তাদের কাছে একটি সামঞ্জস্যপূর্ণ টেম্পো সেট করার উপায় থাকে এবং এটিতে সামান্য সমন্বয় করতে পারে। এগুলি কেবল ফ্ল্যাশ করে, এবং যদি আরও লোকেরা ঠিক তাদের পরে ফ্ল্যাশ করে তবে তারা ধীরে ধীরে (বিলম্ব বাড়িয়ে তুলবে), যদি ঠিক তাদের আগে আরও ফ্ল্যাশ হয় তবে তারা গতি বাড়ায় (বিলম্ব হ্রাস করে)। সুতরাং তারা মূলত একই টেম্পো এবং পর্যায়ে আসতে একটি সাধারণ প্রতিক্রিয়া প্রক্রিয়া ব্যবহার করতে পারে। এখানে গুরুত্বপূর্ণ পর্যবেক্ষণটি লক্ষ্য করা যায় যে তারা সঠিক মুহূর্তটি ফ্ল্যাশ করার জন্য অপেক্ষা করে সিঙ্ক্রোনারি অর্জন করে ।
4x100 রেসটি আকর্ষণীয় কারণ আপনি উভয় প্রকারের প্রক্রিয়া সময় নির্ধারণের সময়টি দেখতে পান: একটি দলের মধ্যে রানারগুলি সিঙ্ক্রোনাইজ হয়, অন্যদিকে বিভিন্ন দলের রানাররা "অ্যাসিঙ্ক" থাকে। প্রথম রানার স্থানান্তর জোনে প্রবেশ না করা পর্যন্ত রিলে দ্বিতীয় রানার অপেক্ষা করতে হবে । হ্যান্ড অফটি সেই দুই রানারদের মধ্যে একটি সিঙ্ক্রোনাস ইভেন্ট। যাইহোক, বিভিন্ন লেনের দৌড়বিদরা অন্য লেনে কী ঘটছে সেদিকে খেয়াল রাখে না এবং খুব অবশ্যই ধীর হয় না এবং সিঙ্কে তাদের হ্যান্ড-অফগুলি করে না। রানারদের প্রতিটি লেন একে অপরের প্রতি শ্রদ্ধার সাথে অবিচ্ছিন্ন ous আবার, আমরা দেখতে পাই যে সিঙ্ক্রোনাইজেশন অপেক্ষার জন্য প্রযোজ্য while
অবশেষে, কোনও সংস্থার সৈন্যদের (প্লাটুন, ফায়ার দল ইত্যাদি) তাদের ঘড়িগুলি সুসংগত করতে হবে যাতে তারা একই সাথে শত্রুকে আক্রমণ করতে পারে । এটি এমনও হতে পারে যে কিছু সৈন্য অন্যদের আগে তাদের অবস্থানগুলিতে পৌঁছে যায় বা শীঘ্রই শত্রুতে গুলি চালানোর সুযোগ পায়। তবে বিস্ময়ের উপাদানটির কারণে একযোগে আক্রমণ সাধারণত হাফাজার্ড আক্রমণের চেয়ে বেশি কার্যকর। সুতরাং সিঙ্ক্রোনি অর্জন করতে, সৈন্যদের অনেককেই অভিনয়ের জন্য নির্ধারিত সময়ের জন্য অপেক্ষা করতে হবে ।
বৈশিষ্ট্য সংজ্ঞায়িত করা হচ্ছে
এই জোর কেন অপেক্ষা? ওয়েল, কারণ অপেক্ষাটি হ'ল সংজ্ঞাযুক্ত বৈশিষ্ট্য যা সিঙ্ক্রোনাসকে অ্যাসিক্রোনাস প্রক্রিয়াগুলি থেকে পৃথক করে। যদি আপনার দুটি প্রক্রিয়া থাকে যার সম্পর্কে আপনি কিছুই জানেন না তবে আপনার ডিফল্টরূপে ধরে নেওয়া উচিত যে তারা অ্যাসিক্রোনাস। উদাহরণস্বরূপ, একটি প্যাকেজ বিতরণ এবং দ্বারা অ্যাম্বুলেন্স ড্রাইভিং সম্ভবত সিঙ্ক্রোনাইজ করা হয় না । দুটি প্রক্রিয়া প্রকৃতপক্ষে সিঙ্ক্রোনাইজড তা প্রদর্শনের জন্য আপনাকে সময়মতো একটি বিশেষ মুহূর্তটি খুঁজে বের করতে হবে: সিঙ্ক্রোনাইজেশন পয়েন্ট ।
একটি প্যাকেজটি ছাড়ে একটি ডেলিভারি ড্রাইভার এবং হাসপাতালে কাউকে ছুটে আসা একটি অ্যাম্বুলেন্স সাধারণত সময়ে কোনও পয়েন্ট ভাগ করে না দেয় যা আমরা "সিঙ্ক্রোনাইজেশন পয়েন্ট" হিসাবে চিহ্নিত করি। অন্যদিকে, একত্রে জ্বলজ্বলকারী ফায়ারফ্লাইগুলি প্রতিবার ফ্ল্যাশ করার সময় একটি সিঙ্ক পয়েন্ট থাকে, রিলে রানাররা প্রতিবার লাঠিপেটা বন্ধ করার সময় একটি সিঙ্ক পয়েন্ট থাকে এবং আক্রমণ শুরু করার সময় সৈন্যরা একটি সিঙ্ক পয়েন্ট থাকে। আপনি যদি এক বা একাধিক সিঙ্ক পয়েন্টগুলি সনাক্ত করতে পারেন তবে প্রক্রিয়াগুলি সিঙ্ক্রোনাইজ হয় । এটি বোঝা সহজ হওয়া উচিত, কারণ "syn-" হ'ল একটি গ্রীক উপসর্গ যার অর্থ "সহ" বা "একসাথে" এবং "ক্রোনো" হ'ল "সময়" এর গ্রীক মূল । "সিঙ্ক্রোনাইজড" এর আক্ষরিক অর্থ "একই সাথে",
সীমানা
নোট করুন যে "সিঙ্ক্রোনাইজেশন" প্রয়োজনীয়ভাবে উভয়ই বা উভয় প্রক্রিয়ার পুরো জীবদ্দশায় প্রযোজ্য নয় । আমি যুক্তি দিয়ে বলব যে এটি কেবলমাত্র "অপেক্ষার সময় পর্যন্ত এবং সমলয়করণ পয়েন্ট (গুলি) সহ প্রযোজ্য"। সুতরাং, দুটি প্রক্রিয়া অবিচ্ছিন্নভাবে পরিচালনা করতে পারে যতক্ষণ না তারা এমন একটি অবস্থানে পৌঁছায় যেখানে তাদের যোগাযোগের প্রয়োজন হয়, তারপরে তারা সিঙ্ক্রোনাইজ হয়ে যায়, তথ্য আদান-প্রদান করে এবং তারপরে অ্যাসক্রোনাক্রমে চালিয়ে যায়। একটি সাধারণ উদাহরণ কফির জন্য কারও সাথে দেখা করা। স্পষ্টতই, সভাটি একটি সিঙ্ক্রোনাইজেশন পয়েন্ট (বা অনেকের পরিবর্তে) এবং এই স্থানে দু'জন লোক উপস্থিত হওয়ার বিষয়টি সিনক্রোনাইটি প্রদর্শন করে। তবে, আমরা এটি বলব না কারণ দুটি ব্যক্তি কফির জন্য মিলিত হয়েছিল, সেই দুটি মানুষের জীবনকাল"সিঙ্ক্রোনাইজড"। এটি তাদের জীবনের একমাত্র তাত্ক্ষণিক ঘটনা হতে পারে যা তারা দেখা করেছিল এবং তারা যা কিছু করে তা অন্যথায় স্বতন্ত্র।
ঘটনাচক্রে দেখা যায় এমন সিঙ্ক্রোনির ঘটনাও ঘটে না। যদি দু'জন অপরিচিত ব্যক্তি রাস্তায় একে অপরকে অতিক্রম করে, তবে তারা যে কোনও সময়ে একটি নির্দিষ্ট স্থানে রয়েছে এ বিষয়টি সিনক্রোনাই প্রমাণ করে না। এছাড়াও একজনের বাসের জন্য অপেক্ষা করা বেঞ্চে বসে থাকা এবং অন্য একজনের সাথে হাঁটাচলা করার ঘটনা ঘটে না। প্রক্রিয়াগুলি কেবলমাত্র সিঙ্ক্রোনাস হয় যখন তারা কোনও উদ্দেশ্যে পূরণ করে ।
সফ্টওয়্যার সংযোগ
এখন, সফ্টওয়্যারটির একটি খুব মৌলিক কাজ সম্পর্কে ভাবা যাক: একটি ফাইল থেকে পড়া। আপনি সম্ভবত জানেন যে ভর স্টোরেজ সাধারণত ক্যাশে বা প্রধান মেমরির চেয়ে কয়েক হাজার থেকে কয়েক মিলিয়ন গতি কম হয়। এই কারণে অপারেটিং সিস্টেম এবং প্রোগ্রামিং ভাষার পাঠাগারগুলি সাধারণত সিঙ্ক্রোনাস এবং অ্যাসিনক্রোনাস আই / ও উভয় ক্রিয়াকলাপ সরবরাহ করে। এখন, এমনকি যদি আপনার প্রোগ্রামটিতে কেবল একটি একক থ্রেড থাকে, আপনার এই আলোচনার উদ্দেশ্যগুলির জন্য ওএসকে একটি "পৃথক প্রক্রিয়া" হিসাবে ভাবা উচিত।
সুসংগত
আপনি যখন একটি "সিঙ্ক্রোনাস আই / ও রিড" করেন, আপনার থ্রেডটি ডেটা উপলব্ধ না হওয়া পর্যন্ত অপেক্ষা করতে হবে , কোন পর্যায়ে এটি অবিরত থাকবে। এটি অনেকটা রিলে রানারকে পরের রানার হাতে ব্যাটন তুলে দিচ্ছে, তবে এর পরিবর্তে কল্পনা করুন যে কেবল দুটি রানার পুরো ট্র্যাকের চারদিকে চলেছে, এবং দ্বিতীয় রানারও প্রথমটিকে পিছনে ফেলে দেয়।
এই ক্ষেত্রে, আপনার প্রোগ্রামের থ্রেড এবং ওএস আই / ও প্রক্রিয়া একই সাথে "ঘটছে (অভিনয়)" হয় না, এবং তাই এই প্রক্রিয়াগুলি "সিঙ্ক্রোনাইজড" বলে অদ্ভুত বলে মনে হয়। তবে এটি দেখার ভুল উপায়! এটি বলার মতো: "রিলে দলের রানাররা একই সাথে চলছে না, তাই তারা সংক্রামিত হয় না।" আসলে দুটি বক্তব্যই ভুল! রিলে দলের রানাররা একই সাথে চালাতে হবে এবং এটি অবশ্যই একটি খুব নির্দিষ্ট মুহূর্তে: ব্যাটনের হাতছাড়া। প্রকৃতপক্ষে, রেসের সময়কালে এই বিশেষ মুহূর্তটিই আমাদের এই বিষয়টি নিশ্চিত করে যে রিলে দলগুলি শুরু করার জন্য সিঙ্ক্রোনাইজ হয়েছে! যদি আমরা I / O অনুরোধ এবং প্রতিক্রিয়াটিকে "ব্যাটন" হিসাবে দেখি তবে
অন্যদিকে, যদি আমরা একটি সুপার কম্পিউটারে ফিনাইট এলিমেন্ট অ্যানালাইসিসের মতো কিছু নিয়ে চিন্তা করি তবে আমরা দেখতে পাচ্ছি যে বিশাল বৈশ্বিক অবস্থা আপডেট করতে হাজার হাজার প্রক্রিয়া অবশ্যই লক-স্টেপে কাজ করতে হবে। এমনকি কিছু নোড অন্যের আগে একটি নির্দিষ্ট সময়-পদক্ষেপের জন্য তাদের কাজ সম্পন্ন করলেও, তাদের সকলকে সময় শেষ করার জন্য অপেক্ষা করতে হবে কারণ ফলাফলগুলি স্থানের মাধ্যমে প্রতিবেশীদের কাছে প্রচার করে। এই ধরণের সিঙ্ক্রোনাইজেশন ফায়ারফ্লাইসের মতো: সমস্ত অভিনেতা একই ধরণের টাস্কটি সম্পাদন করছেন।
প্রক্রিয়া বিভিন্নতা
এই কারণে, আমরা তিন ধরণের জিনিস চলছে তা দেখতে সহায়তা করতে আমরা কয়েকটি শর্ত উদ্ভাবন করতে পারি: "একজাতীয় সিনক্রোনারি", "ভিন্নধর্মী সিনক্রোনারি" এবং "ক্রমিক ক্রিয়াকলাপ" nch তাই অভিনেতারা যখন একই কাজ একই সাথে সম্পাদন করছেন (এফএএ, ফায়ারফ্লাইস), তারা "একজাতীয়"। যখন তারা একই সাথে বিভিন্ন কার্য সম্পাদন করে (সৈনিকরা চলমান বনাম ক্রলিং বনাম তাদের গন্তব্যগুলিতে সাঁতার কাটা, ফিজিক্স বনাম শব্দ বনাম একটি গেমের এআই থ্রেড) তখন তারা "ভিন্নধর্মী" হয়। যখন তারা একবারে কাজগুলি সম্পাদন করে, তখন তারা "ক্রমবর্ধমান" হয় (রিলে রানার্স, ব্লকিং I / O)। তারা দেখতে খুব আলাদা দেখতে পারে তবে তারা একটি প্রয়োজনীয় সম্পত্তি ভাগ করে নেয়: সমস্ত ধরণের অভিনেতা প্রত্যেকে একই সাথে সিঙ্ক্রোনাইজেশন পয়েন্টে পৌঁছে যায় তা নিশ্চিত করার জন্য কিছুটা অপেক্ষা করে perform সিঙ্ক্রোনাইজেশন পয়েন্টগুলির মধ্যে বা "একই ক্রিয়া সম্পাদন করা" সিঙ্ক্রোনসিটির সম্পত্তিটির সাথে অপ্রাসঙ্গিক।
জিপিইউতে রেন্ডার পাইপলাইনগুলি সিঙ্ক্রোনাস কারণ সেগুলি অবশ্যই একসাথে ফ্রেমটি শেষ করতে হবে এবং একসাথে একটি নতুন ফ্রেম শুরু করতে হবে। তারা সমজাতীয় কারণ তারা একই ধরণের কাজ করছে এবং তারা সকলেই একসাথে সক্রিয়। তবে একটি সার্ভারের প্রধান গেম লুপ এবং ব্লক করা আই / ও থ্রেডগুলি যা রিমোট ইনপুট প্রক্রিয়াকরণ করে তা ভিন্নধর্মী কারণ তারা খুব বিভিন্ন ধরণের কাজ করে এবং কিছু আই / ও থ্রেড কিছুতেই কাজ করে না, কারণ সব কিছু নয় সংযোগগুলি ব্যবহৃত হয়। তবুও, এগুলি সিঙ্ক্রোনাইজ করা হয়েছে, কারণ তাদের অবশ্যই রাষ্ট্রীয়ভাবে পারমাণবিকভাবে ভাগ করতে হবে (কোনও খেলোয়াড় অবশ্যই আংশিক গেম ওয়ার্ল্ড আপডেট দেখতে পাবে না, বা সার্ভারকে অবশ্যই প্লেয়ার ইনপুটটির একটি অংশ দেখতে হবে না)।
এসিঙ্ক
এখন, আসুন একটি "async I / O পড়া" বিবেচনা করুন। যখন আপনার প্রোগ্রামটি স্টোরেজ থেকে কিছুটা তথ্য পড়ার জন্য ওএসকে একটি অনুরোধ প্রেরণ করে, তখনই কলটি ফিরে আসে । কলব্যাকগুলি উপেক্ষা করুন এবং ভোটদানের দিকে মনোনিবেশ করুন। সাধারণভাবে, আপনার প্রোগ্রামের ডেটা উপলব্ধ হওয়ার মুহুর্তটি আপনার প্রোগ্রামের থ্রেড সম্পর্কিত যতটা সময় সময় বিশেষ কোনও অনুরূপ নয়। যদি আপনার প্রোগ্রামটি স্পষ্টভাবে ডেটার জন্য অপেক্ষা না করে, তবে থ্রেডটি ঠিক কখন জানতে পারে না কখন সেই মুহূর্তটি ঘটে। এটি কেবলমাত্র আবিষ্কার করবে যে পরবর্তী সময় এটি পরীক্ষা করার সময় ডেটা অপেক্ষা করছে।
কোনও বিশেষ মিলনের সময় নেই যেখানে ওএস এবং প্রোগ্রাম থ্রেড ডেটা হস্তান্তর করতে সম্মত হয়। এরা রাতে দুটি জাহাজের মতো। অপেক্ষার এই অনুপস্থিতিতে অ্যাসিনক্রোনি বৈশিষ্ট্যযুক্ত। অবশ্যই, প্রোগ্রামের থ্রেডটি প্রায়শই আই / ও অপারেশনটির অপেক্ষার পরেও শেষ হয়ে যাবে, তবে এটির প্রয়োজন নেই। আই / ও আনতে সমস্যা সংঘটিত হওয়ার সময় এটি আনন্দের সাথে অন্য গণনাগুলি চালিয়ে যেতে পারে এবং কেবলমাত্র পরে যখন পরীক্ষা করার সময় থাকে তখন তা পরীক্ষা করে দেখুন। অবশ্যই, একবার ওএস ডেটা আনার পরে, এটি অপেক্ষার আশেপাশে বসে না। এটি কেবল ডেটা কোথাও সুবিধাজনকভাবে রাখে এবং এর ব্যবসা সম্পর্কে এগিয়ে যায়। এই ক্ষেত্রে, এটি প্রোগ্রামটির মতোই ব্যাটনটি ওএসের হাতে তুলে দেয় এবং ওএস পরে আসে, ডেটা সহ মাটিতে লাঠিটি ফেলে দেয় এবং ট্র্যাক থেকে বেরিয়ে আসে। প্রোগ্রামটি হাতছাড়া হওয়ার জন্য অপেক্ষা করতে পারে বা নাও পারে।
উপমা
আমরা যখন সফ্টওয়্যারটিতে কোনও ফাংশন "async" হিসাবে চিহ্নিত করি, এর প্রায়শই অর্থ আমরা সমান্তরালতা চাই । তবে মনে রাখবেন যে সমান্তরালতা সিঙ্ক্রোনিকে বোঝায় না । ফায়ারফ্লাইস একটি ভাল উদাহরণ, কারণ তারা, উভয়ই সিনক্রোনাস এবং অ্যাসিনক্রোনাস আচরণ প্রদর্শন করে। একত্রে বেশিরভাগ উড়ে ঝাঁকুনির ঝাঁকুনিতে দেখা গিয়েছিল, অনেকেই গ্রুপের বাকী অংশগুলির সাথে সুস্পষ্ট সুরের বাইরে চলে গিয়েছিলেন এবং আরও এলোমেলোভাবে ফ্লাশ করেছিলেন। মাছিগুলি একই সাথে অভিনয় করছিল , তবে সেগুলি সমস্ত সিঙ্ক্রোনাইজ করা হয়নি ।
এখন যখন আমরা কিছু কোডকে "async" হিসাবে চিহ্নিত করি, তখন এটি মজাদার মনে হয়, কারণ এর দ্বারা বোঝা যায় যে কোডটি চিহ্নিত করা হয়নি তার বাকি চিহ্নগুলি "সিঙ্ক" is এমনকি এর অর্থ কি? আমরা কী জোর দিয়েছিলাম না যে "সিঙ্ক্রোনাইজেশন" টি ট্যাঙ্গোর জন্য দুটি দরকার? কিন্তু যদি আমরা কোডটি একটি থ্রেডে এক্সিকিউটিভের কথা বলছি? এই ক্ষেত্রে, আমাদের একটি পদক্ষেপ পিছনে নেওয়া উচিত এবং সেই সমস্ত রাজ্যগুলির মধ্যে অবস্থার ক্রম এবং সংক্রমণের ক্রম হিসাবে একটি প্রোগ্রাম সম্পর্কে চিন্তা করা দরকার। একটি প্রোগ্রামে একটি বিবৃতি রাষ্ট্রের রূপান্তর ঘটায়। আমরা এটিকে "মাইক্রো-প্রক্রিয়া" হিসাবে ভাবতে পারি যা বিবৃতি দিয়ে শুরু হয় এবং থামে। ভাষার দ্বারা সংজ্ঞায়িত ক্রম পয়েন্টগুলি আসলে এই "মাইক্রো-প্রসেসস" এর সিঙ্ক্রোনাইজেশন পয়েন্টগুলি । এবং এইভাবে, আমরা একক থ্রেডযুক্ত দেখতে পারি,
প্রোগ্রামিং ভাষার অখণ্ডতা গ্যারান্টি দেয় যে রাষ্ট্রীয় আপডেটগুলি বিবৃতি জুড়ে কোনও হস্তক্ষেপ করবে না এবং সিকোয়েন্স পয়েন্টগুলি সীমানা সংজ্ঞায়িত করে যেখানে সংকলককে পর্যবেক্ষণযোগ্য অপ্টিমাইজেশন করার অনুমতি নেই। উদাহরণস্বরূপ, বিবৃতিটির মধ্যে প্রকাশের মূল্যায়নের ক্রমটি বিভিন্নভাবে বিবৃতিটি অনুকূলিতকরণের সংকলককে স্বাধীনতা প্রদান বা অপ্রকাশিত হতে পারে। তবে পরবর্তী বিবৃতিটি শুরু হওয়ার সাথে সাথে, পিএল নিজেই শব্দসম্পন্ন হলে প্রোগ্রামটি একটি সু-সংজ্ঞায়িত অবস্থায় থাকা উচিত।
এখনই এটি স্পষ্ট হওয়া উচিত যে আমরা "async" বলতে কী বুঝি। এর ঠিক অর্থ হ'ল কোডের একটি ব্লকের মধ্যে সিঙ্ক্রোনির অন্তর্নিহিত চুক্তি অ্যাসিঙ্ক ব্লকের জন্য অব্যাহতিপ্রাপ্ত। সিক্যুয়াল (ল্য সামঞ্জস্যপূর্ণ, সিঙ্ক্রোনাস) কম্পিউটিং মডেল দ্বারা সাধারণত সুরক্ষিত গ্যারান্টি ছাড়াই প্রোগ্রামটিকে স্বাধীনভাবে আপডেট করার অনুমতি দেওয়া হয়। অবশ্যই, এর অর্থ হ'ল আমাদের বিশেষ যত্ন নেওয়া দরকার যে আমরা অসঙ্গতি দিয়ে প্রোগ্রামের অবস্থাটি ধ্বংস না করি। এর অর্থ সাধারণত হ'ল আমরা অ্যাসিঙ্ক ব্লকের সাথে সমন্বয় করতে সীমাবদ্ধ, স্পষ্টত সুসংগতি প্রবর্তন করি । মনে রাখবেন এর অর্থ হ'ল অ্যাসিঙ্ক ব্লক বিভিন্ন সময়ে অ্যাসিনক্রোনাস এবং সিঙ্ক্রোনাস হতে পারে ! তবে এই সিঙ্ক্রোনাইজেশনটি কেবল একটি সিঙ্ক পয়েন্টের অস্তিত্বের ইঙ্গিত দেয় তা স্মরণ করে আমাদের এই ধারণাটি গ্রহণ করতে কোনও সমস্যা হওয়া উচিত নয়।