পারমাণবিক অপারেশন এবং থ্রেড সুরক্ষা মধ্যে পার্থক্য?


10

যে আলোচনা থেকে আমি দেখেছি তা দেখে মনে হচ্ছে যে পারমাণবিক অপারেশন এবং থ্রেড সুরক্ষা একই জিনিস, তবে প্রচুর লোকেরা বলে যে তারা আলাদা। কেউ যদি আমাকে একটি পার্থক্য বলতে পারে?


4
পারমাণবিক অপারেশনগুলি থ্রেড সুরক্ষা নিশ্চিত করতে সহায়তা করবে, তবে কীভাবে তারা সম্ভবত একই জিনিস হতে পারে ? একটি "থ্রেড" "অপারেশন" এর মতো নয়।
ব্যবহারকারী 50849

উত্তর:


11

পরমাণু অপারেশন পটে যাবেন থ্রেড নিরাপত্তা পারেন মত কেশ কোন ধরণের ব্যবহার করে একটি উপায় Mutexes বা Semaphores যা পারমাণবিক অপারেশন অভ্যন্তরীণভাবে ব্যবহার করুন অথবা প্রয়োগ করে লক বিনামূল্যে সিঙ্ক্রোনাইজেশন atomics এবং মেমরি বেড়া ব্যবহার করে।

সুতরাং আদিম তথ্য ধরণের পারমাণবিক ক্রিয়াকলাপগুলি থ্রেড সুরক্ষা অর্জনের একটি সরঞ্জাম তবে থ্রেড সুরক্ষা স্বয়ংক্রিয়ভাবে নিশ্চিত করে না কারণ আপনার সাধারণত একাধিক অপারেশন থাকে যা একে অপরের উপর নির্ভর করে। আপনাকে নিশ্চিত করতে হবে যে এই ক্রিয়াকলাপগুলি কোনও বাধা ছাড়াই সম্পন্ন হয়েছে যেমন Mutexes ব্যবহার করে।

হ্যাঁ, এই # পারমাণবিক ডেটা প্রকারের মধ্যে সি # তে লেখা থ্রেড নিরাপদ তবে এটি আপনি থ্রেডে ব্যবহার করেন এমন ফাংশনটি নিরাপদ করে না। এটি কেবলমাত্র এটি নিশ্চিত করে যে একটি একক লেখাই সঠিকভাবে সম্পাদন করা হয়েছে এমনকি যদি দ্বিতীয় থ্রেডটি "একই সাথে" অ্যাক্সেস করে। কখনও কম নয়, বর্তমান থ্রেড থেকে পরবর্তী পঠনটি আলাদা থ্রেড হিসাবে পূর্বে লিখিত মানটি এটিতে লেখা থাকতে পারে তা নিশ্চিত করা হয় না, কেবলমাত্র মানটি পড়া হয়।


ইনট, বুল, ফ্লোট কি থ্রেড নিরাপদ নাকি পারমাণবিক?
user960567

1
@ user960567 - ডেটা টাইপগুলি হ'ল ডেটা টাইপ। কীভাবে এগুলি অ্যাক্সেস করবেন তা সিদ্ধান্ত নেওয়া কম্পাইলারের উপর নির্ভর করে। 8086 সিপিইউতে একটি int64 এর কথা ভাবেন।
mouviciel

2
সি # তে বিশেষভাবে, যে প্রশ্নটি ট্যাগ করা হয়, পড়ে এবং লিখতে হবে অবশ্যই বেসিক ডেটা-টাইপের উপর পারমাণবিক হতে হবে । দেখুন একমা 334
user50849

2
এবং হ্যাঁ, এই # পারমাণবিক ডেটা ধরণের একটি সি # তে লেখা থ্রেড নিরাপদ তবে এটি আপনি থ্রেডে ব্যবহার করেন এমন ফাংশনটি নিরাপদ করে না। এটি কেবলমাত্র এটি নিশ্চিত করে যে একটি একক লেখাই সঠিকভাবে সম্পাদন করা হয়েছে এমনকি যদি দ্বিতীয় থ্রেডটি "একই সাথে" অ্যাক্সেস করে। কখনও কম নয়, বর্তমান থ্রেড থেকে পরবর্তী পঠনটি আলাদা থ্রেড হিসাবে পূর্বে লিখিত মানটি এটিতে লেখা থাকতে পারে তা নিশ্চিত করা হয় না, কেবলমাত্র মানটি পড়া হয়।
আর্চি

4
x = 5 সি # তে পারমাণবিক। তবে এই অপারেশনের পরপরই এটি ওভাররাইট করা যেতে পারে। x = x + 1 দ্বারা চালিত হয় 1. রেজিস্টারে এক্স লোড করে ২. রেজিস্টারে এক্সক্রিমেন্ট এক্স 3. মেমরিতে এক্স স্টোর করুন। যদি দ্বিতীয় থ্রেড একই সময়ে একই কাজ করে তবে উভয়ই একই মানটি লোড করবে, এটিকে বাড়িয়ে দেবে এবং সংরক্ষণ করবে ফলে এক্স কেবলমাত্র দু'বার পরিবর্তে একবার বৃদ্ধি পাবে। ইন্টারলকডইনক্রিমেন্ট হয় হয় পারমাণবিক বৃদ্ধি কার্যকর করার জন্য একটি বিশেষ প্রসেসরের নির্দেশনা ব্যবহার করে বা একটি লকিং মেকানিজম, যেমন সিএএস ব্যবহার করে এটি নিশ্চিত করে যে নতুন মানটি লেখার সময় অন্য কোনও থ্রেড পুরানো মানটি পড়তে পারে না তা নিশ্চিত করে।
আরকি

3

পারমাণবিকতা এবং থ্রেড-সুরক্ষা দুটি পৃথক জিনিস। পারমাণবিকতা একটি অপারেশনের "সমস্ত বা কিছুই না" মানের বোঝায়; যদি কোনও অপারেশন সফলভাবে 100% সম্পাদন করা যায় না, তবে সিস্টেমটি সামগ্রিক অবস্থায় থাকা উচিত অপারেশনটির কোনও অংশ শুরুর আগে এটি আগে ছিল। ক্লাসিক উদাহরণটি একটি ডাটাবেস লেনদেন; কোনও চালান, এর শিরোনাম এবং একাধিক লাইন আইটেমগুলি সংরক্ষণ করার সময়, প্রতিটি একক ডাটাবেস সারির প্রতিটি অংশ অবশ্যই সফলভাবে স্থাপন করা উচিত; যদি তা না হয় তবে ডেটা হারিয়ে গেছে বা ক্ষতিগ্রস্থ হয়েছে। যদি কোনও লাইন আইটেম সন্নিবেশ করা যায় না, তবে কেবলমাত্র অন্য কোনও সারি সন্নিবেশ করা উচিত নয়, তবে ইতিমধ্যে প্রক্রিয়া করা সারিগুলির কোনওটিই অবশিষ্ট থাকবে না।

থ্রেড-সুরক্ষা বলতে পারমাণবিকতা সহ সামগ্রীর সংমিশ্রণকে বোঝায় যা কোনও অপারেশনকে "পুনরায়" হতে দেয়; একাধিক কর্মী একই অপারেশন সম্পাদন করতে পারবেন, একই বা বিভিন্ন সময়ে শুরু হতে পারে, অন্য কোনওর উপর প্রভাব ছাড়াই। থ্রেড-সেফ অপারেশনের জন্য অনেক মডেল রয়েছে; তাদের বেশিরভাগই সম্পূর্ণ বিচ্ছিন্নভাবে একাধিক সমান্তরাল কাজ পরিচালনা করার জন্য ধারণাগতভাবে ফুটিয়ে তোলেন (দু'জন শ্রমিক অন্য কাজকর্মীর অস্তিত্ব না জেনেও দুটি ভিন্ন বস্তু বা বস্তু সংগ্রহের ক্ষেত্রে একই কাজটি সম্পাদন করতে পারেন) বা এর মধ্যে একটি "পাইপলাইন" স্থাপন করতে পারেন একাধিক কর্মী প্রতিটি একটি সম্পূর্ণ ক্রিয়াকলাপের বাইরে একটি কাজ সম্পাদন করে (হয় প্রতিটি শ্রমিক প্রথম কাজ থেকে পরের দিকে অগ্রসর হয় এবং অন্যথায় একটি কাজে মনোনিবেশ করে এবং তার মধ্যবর্তী "কাজের পণ্য" পরবর্তী কর্মীর হাতে তুলে দেয়)।


2

পারমাণবিক অপারেশন এমন একটি অপারেশন যা বাধা দেওয়া যায় না।

একটি নিরাপদ থ্রেড একটি থ্রেড যা নিরাপদে বাধা দেওয়া যায়।

পারমাণবিক ক্রিয়াকলাপগুলির সাথে থ্রেড সুরক্ষা প্রাপ্ত হয়, বিশেষত যুক্তিতে যে সমালোচনামূলক সংস্থানগুলিকে একাধিকবার অ্যাক্সেস করা থেকে বিরত করে।

প্রাথমিক পারমাণবিক অপারেশন হ'ল টেস্ট-অ্যান্ড-সেট , যা সেমফোরগুলি প্রয়োগের জন্য ব্যবহৃত হয়, যা ঘুরিয়ে সুরক্ষা প্রয়োগে ব্যবহৃত হয়।


মাল্টি-স্টেপ অপারেশন বাধাগ্রস্ত হতে পারে না এবং পারমাণবিক বলা যেতে পারে যদি এটির পরিবর্তনগুলি রোল করার নিশ্চয়তা দেওয়া হয়?
ব্যবহারকারী 50849

1
না। পারমাণবিকটি এর ব্যুৎপত্তিগত অর্থ: ἄτομος, পরমাণু, অবিভাজ্য বোঝা উচিত।
mouviciel

ইনট, বুল, ফ্লোট কি থ্রেড নিরাপদ নাকি পারমাণবিক?
user960567

কিন্তু অবিভাজ্য হওয়া এবং কোনও পর্যবেক্ষকের কাছে অবিভাজ্য প্রদর্শিত হওয়াতে কি কোনও পার্থক্য নেই ? আপনার সংজ্ঞা অনুসারে, পারমাণবিক ক্রিয়াকলাপে একটি পদক্ষেপের চেয়ে বেশি কিছু থাকতে পারে না। আমি বিশ্বাস করি অ্যাটমিক অপারেশনের উইকিপিডিয়া সংজ্ঞাতে "উপস্থিত" শব্দটি গুরুত্বপূর্ণ। (কেউ যদি এটিকে এখানে আনতে চায় তবে আমি
আড্ডায়

একটি বড় পার্থক্য রয়েছে: একটি নিরাপদ থ্রেড বাধাগ্রস্ত হতে পারে এবং কতটা সময় আছে তার কোনও গ্যারান্টি নেই। এটি রিয়েলটাইম কম্পিউটিংয়ে গুরুত্বপূর্ণ। একটি পারমাণবিক অপারেশন (যদি এটি বহু-পদক্ষেপের সাথে অন্তর্ভুক্ত লকগুলি সহ) প্রত্যাশিত সময়ের পরে বন্ধ করার গ্যারান্টিযুক্ত হয়।
mouviciel

1

থ্রেড-সুরক্ষা আরও একটি কাঠামো বা একটি "ধারণা", পারমাণবিক ক্রিয়াকলাপকে একটি শ্রেণীবদ্ধ হিসাবে 'থ্রেড-সেফ' হিসাবে স্ট্যাটাস অর্জনের একটি উপসেট, একটি (অনেকের মধ্যে একটি) উপায়।

থ্রেড সুরক্ষা এমন একটি প্রক্রিয়া বোঝায় যা পৃথক থ্রেড দ্বারা অ্যাক্সেস করা যায়, যেখানে একের অ্যাক্সেস (এবং ডেটা ম্যানিপুলেশন), অন্যটির ক্রিয়াকলাপের অখণ্ডতাটিকে নষ্ট করে না।

প্রোগ্রামারটির বেশিরভাগ দক্ষতা কীভাবে এটি অর্জন করতে হবে তা পরিস্থিতি এবং মূল লক্ষ্যগুলির উপর নির্ভর করে আপনাকে বাস্তবায়নের প্রয়োজন হতে পারে, উদাহরণস্বরূপ: তালা, সেমফোরস, ল্যাচস, পারমাণবিক অবজেক্টস, সিঙ্ক্রোনাইজেশন বিধি ইত্যাদি ...

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.