এটি একটি সাধারণ বিষয়, ইভেন্ট হ্যান্ডলারগুলি কীভাবে কাজ করবে?
এর অর্থ পর্দার আড়ালে - যখন তৈরি হয় তখন কী হয়।
আমার মোটামুটি ধারণা আছে - তবে এটি নিশ্চিত হওয়া চাই।
এটি একটি সাধারণ বিষয়, ইভেন্ট হ্যান্ডলারগুলি কীভাবে কাজ করবে?
এর অর্থ পর্দার আড়ালে - যখন তৈরি হয় তখন কী হয়।
আমার মোটামুটি ধারণা আছে - তবে এটি নিশ্চিত হওয়া চাই।
উত্তর:
নিম্ন-স্তরে ইভেন্ট হ্যান্ডলাররা প্রায়শই কোনও ডিভাইসকে পোলিং করে এবং একটি হার্ডওয়্যার বিঘ্নিত হওয়ার জন্য অপেক্ষা করে কাজ করে । মূলত, একটি পটভূমি থ্রেড ব্লক করে, যখন একটি হার্ডওয়্যার বিঘ্নিত হওয়ার অপেক্ষা করে। যখন কোনও বাধাপ্রাপ্ত হয়, পোলের ফাংশনটি ব্লক করা বন্ধ করে দেয়। অ্যাপ্লিকেশনটি সনাক্ত করতে পারে কোন ডিভাইস হ্যান্ডেলটি বাধাগ্রস্থ করেছে, এবং এটি কী ধরণের বাধা ছিল এবং তারপরে সে অনুযায়ী কাজ করুন (উদাহরণস্বরূপ ইভেন্ট হ্যান্ডলারের ক্রিয়াকলাপটি শুরু করে)। এটি সাধারণত একটি পৃথক থ্রেডে করা হয় যাতে এটি অবিচ্ছিন্নভাবে ঘটে।
অবশ্যই এটি বাস্তবায়িত হওয়ার উপায়টি ওএস এবং ডিভাইস / ইনপুটের ধরণের উপর নির্ভর করে যথেষ্ট পরিবর্তিত হয়। ইউএনআইএক্স সিস্টেমগুলিতে, সকেট, সিরিয়াল বা ইউএসবি পোর্টের মতো ইভেন্টের জন্য ইভেন্ট হ্যান্ডলারগুলি যেভাবে প্রয়োগ করা হয় সেটি হল নির্বাচন বা পোল সিস্টেম কলগুলির মাধ্যমে। এক বা একাধিক ফাইল / ডিভাইস বর্ণনাকারী (যা কোনও নেটওয়ার্কের সকেট, সিরিয়াল / ইউএসবি পোর্ট ইত্যাদির মতো একটি ডিভাইসের সাথে যুক্ত) poll
সিস্টেম কল-এ প্রেরণ করা হয় - যা প্রোগ্রামারকে নিম্ন স্তরের সি এপিআইয়ের মাধ্যমে উপলব্ধ করা হয়। যখন এই ডিভাইসগুলির মধ্যে একটিতে কোনও ইভেন্ট ঘটে, (যেমন ধরুন, কিছু ডেটা সিরিয়াল পোর্টে আসে) তখন পোল সিস্টেম কলটি ব্লক করা বন্ধ করে দেয় এবং অ্যাপ্লিকেশনটি নির্ধারণ করতে পারে যে কোন ডিভাইস বর্ণনাকারী ইভেন্টটি ঘটায় এবং এটি কী ধরণের ইভেন্ট ছিল determine ।
উইন্ডোজে এটি আলাদাভাবে পরিচালনা করা হয় তবে ধারণাগুলি মূলত একই রকম।