নিরাপদ সমান্তরালতা প্রয়োগ করতে স্বতন্ত্রতা প্রকারের ব্যবহার


19

আমি কিছু সময়ের জন্য খাঁটি কার্যকরী ভাষায় স্নাতকের বিকল্প হিসাবে স্বতন্ত্রতার ধরনগুলিতে আগ্রহী; দুর্ভাগ্যক্রমে, এটি সিএস গবেষণার একটি রহস্যময় ক্ষেত্র এবং স্বতন্ত্রতার সাথে প্রোগ্রামিং সম্পর্কে অনলাইন সংস্থানগুলি খুব কম এবং এর মধ্যে রয়েছে।

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

উদাহরণস্বরূপ, অনন্য প্রকারের সাথে লক করা কি বাস্তবায়ন সম্ভব? থ্রেড জুড়ে পারস্পরিক পরিবর্তন সম্পর্কিত ডেটা ভাগ করতে স্বতন্ত্রতার ধরণগুলি ব্যবহার করা যেতে পারে? সিঙ্ক্রোনাইজেশন প্রিমিটিভগুলি (মুটেক্সেসের মতো) তৈরি করতে অনন্য ধরণের ব্যবহার করা সম্ভব, বা বার্তাটি প্রয়োজনীয়ভাবে পাস হচ্ছে?


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

> উদাহরণস্বরূপ, আপনি কি অনন্য প্রকারের সাথে তালাবন্ধ সম্পর্কে ইতিমধ্যে জানেন আমি অনন্য প্রকারের সাথে লক করা সম্পর্কে কিছুই জানি না - আমি সত্যই জানি না যে অনন্য প্রকারের সাথে কীভাবে নিরাপদ সমান্তরালতা কাজ করে এবং আমি সেখানে জানতে চাই বিষয়টিতে কোনও সংস্থান রয়েছে।
রিকি স্টুয়ার্ট


2
@ রিকিস্টয়ার্ট: আপনি সম্ভবত ক্লিন ( wiki.clean.cs.ru.nl/ ক্লিন ) ইতিমধ্যে জানেন । আমি কেবল লিঙ্কটি যুক্ত করতে চেয়েছিলাম কারণ আপনি এটি উল্লেখ করেননি।
জর্জিও

আমি মনে করি আপনার সমান্তরালতার জন্য রৈখিক প্রকারের দিকে নজর দেওয়া উচিত। আইআইআরসি স্বতন্ত্রতা টাইপগুলি লিনিয়ার ধরণের উপর নির্মিত। ফ্র্যাঙ্ক ফেনিং-এর বিষয়ে কিছু আকর্ষণীয় স্টাফ রয়েছে
ড্যানিয়েল গ্রেটজার

উত্তর:


2

উদাহরণস্বরূপ, অনন্য প্রকারের সাথে লক করা কি বাস্তবায়ন সম্ভব?

আমি রবার্ট হার্ভে যে লিঙ্কটি দিয়েছিলাম তা অনুসরণ করেছিলাম এবং আমি একটি দ্রুত রিড-আপ করলাম। আমি বলতে পারব না যে আমি সবকিছু বোঝা অথবা আমি যে আমি আস্থা একটি উচ্চ পর্যায়ের আছে সত্যিই বোঝা আমি যা মনে করি আমি বুঝতে, কিন্তু এটা আমার মনে হচ্ছে, যে বহিরাগত স্বতন্ত্রতা এবং রেফারেন্স অপরিবর্তনীয়তা সমগ্র বিন্দু লকিং জন্য কোন প্রয়োজন আছে।

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

আমরা যেভাবে লকিং এড়িয়ে চলেছি তা হ'ল বার্তা প্রেরণা যার সাথে বার্তাগুলি অবশ্যই পরিবর্তনযোগ্য নয়। মোটামুটিভাবে, (প্রথম নজরে), রেফারেন্স অপরিবর্তনীয়তা এমন একটি কৌশল হিসাবে উপস্থিত হয় যা বাস্তবে অপরিবর্তনীয় প্রকারগুলি তৈরি না করেই আমাদের অপরিবর্তনীয়তা গ্যারান্টি সাহায্য করতে পারে এবং বাহ্যিক স্বতন্ত্রতা এমন একটি কৌশল বলে মনে হয় যা আমাদের স্থানীয়ভাবে কঠোর অপরিবর্তনীয়তা শিথিল করতে সহায়তা করে।

থ্রেড জুড়ে পারস্পরিক পরিবর্তন সম্পর্কিত ডেটা ভাগ করতে স্বতন্ত্রতার ধরণগুলি ব্যবহার করা যেতে পারে?

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

সিঙ্ক্রোনাইজেশন প্রিমিটিভগুলি (মুটেক্সেসের মতো) তৈরি করতে অনন্য ধরণের ব্যবহার করা সম্ভব, বা বার্তাটি প্রয়োজনীয়ভাবে পাস হচ্ছে?

আবার, আমি যা বুঝি সেগুলি থেকে বাহ্যিকভাবে অনন্য প্রকার এবং রেফারেন্স অপরিবর্তনীয়তা বলতে লক, মিটেক্স এবং অন্যান্য অপ্রয়োজনীয় রেন্ডার করা। বার্তা পাঠানো পথ হিসাবে দেখা যাচ্ছে এবং এটি বেশ ভাল।

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