থ্রেড এবং ফর্কিং আসলে দুটি ভিন্ন ধারণা, উভয়ই ইউনিক্স / লিনাক্স সিস্টেমে বিদ্যমান (এবং উভয়ই সি / সি ++ ব্যবহার করা যেতে পারে)।
কাঁটাচামচ () এর ধারণাটি (খুব মূলত) একটি পৃথক প্রক্রিয়া তৈরি করা যার প্যারেন্ট প্রসেসের মতো একই এক্সিকিউশন কোড থাকে এবং যা কাঁটা লাইনে কার্যকর করা শুরু করে। এক্সিকিউটিভ ফাংশনগুলির সাথে কাঁটাচামচ ব্যবহারের উদ্দেশ্য হ'ল এক্সিকিউটিভ ফাংশনগুলি প্রসেসটি বন্ধ করে দেয় যা তাদের শেষ হওয়ার সাথে সাথে ডাকে। সুতরাং, আপনি সাধারণত কাঁটাচামচ করে প্রতিটি প্রক্রিয়ার পিআইডি পেয়ে থাকেন (সন্তানের সর্বদা 0 থাকে) এবং সন্তানের নির্বাহী ক্রিয়াকলাপটি শেষ না হওয়া পর্যন্ত পিতামাতাকে অপেক্ষা করুন।
থ্রেডগুলি সমান্তরালতার জন্য ব্যবহৃত হয় (মনে রাখবেন যে পিতা-মাতা সন্তানের জন্য অপেক্ষা করে, সাধারণত, একটি কাঁটাযুক্ত প্রোগ্রামে)। সি / সি ++ এ (যেমন গুগল অনুসন্ধান করুন) তে পাইথ্রেডের মতো একটি থ্রেড মূল প্রক্রিয়ার সমান্তরালে চলবে এবং মূল প্রোগ্রামের সাথে বৈশ্বিক পরিবর্তনশীল এবং গ্লোবাল ফাংশনগুলি ভাগ করতে পারে। যেহেতু জাভা থ্রেডগুলি একই রকম আচরণ করে, তাই আমি কল্পনা করব যে তারা এই থ্রেডগুলির মতো একটি কাঁটাচামড়ার প্রক্রিয়ার চেয়ে বেশি কাজ করে।
মূলত, কাঁটাচামচ এবং থ্রেডিংয়ের মধ্যে পার্থক্য রয়েছে। তারা স্বতন্ত্রভাবে বিভিন্ন জিনিস করে (যদিও এটি দেখতে একই রকম মনে হয়)। এই ধারণাগুলি বুঝতে অসুবিধা হতে পারে তবে আপনি যদি সেগুলি বুঝতে আগ্রহী হন তবে আপনি এগুলি (বিস্তৃত) গবেষণার মাধ্যমে শিখতে পারেন।
সম্পাদনা # 1
কাঁটাচামচ এবং থ্রেডগুলি কীভাবে ডাকা এবং ব্যবহার করা যেতে পারে তার এই উদাহরণগুলি দেখুন। মূল প্রোগ্রামে এক্সিকিউটিভ ফাংশনগুলির আচরণ এবং তার প্রভাবগুলি দয়া করে নোট করুন।
http://www.jdembrun.com:4352/computerScience/forkVSthread.zip