সম্মতি এবং মাল্টি-থ্রেড অ্যাপ্লিকেশনগুলি সম্পর্কে শেখার সর্বোত্তম সংস্থানগুলি কী কী? [বন্ধ]


16

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

সমবর্তী অ্যাপ্লিকেশন তৈরি সম্পর্কে শেখার সেরা সংস্থানগুলি কী কী? আমি একজন অত্যন্ত ব্যবহারিক দৃষ্টিভঙ্গি ব্যক্তি, সুতরাং যদি বলা হয় যে বইটিতে সুনির্দিষ্ট উদাহরণ রয়েছে তবে আমি পরামর্শের জন্য উন্মুক্ত। আমি ব্যক্তিগতভাবে সিউডোকোড বা সি ++ এ কাজ করতে পছন্দ করি এবং গেমের বিকাশের দিকে ঝুঁকি সবচেয়ে ভাল, তবে প্রয়োজন হয় না।


আপনি "সিউডোকোডে কাজ" করতে পছন্দ করেন? আমি আশা করি যে আপনার জন্য কাজ করে! :)
লগ করুন

উত্তর:


6

এই বইগুলি আমি ইদানীং দরকারী খুঁজে পেয়েছি:

অনুশীলনে জাভা কনকুরেন্সি - জাভার বহুসংখ্যক ব্যবহারকারীর লেখকের দ্বারা। কিছুটা জাভা-নির্দিষ্ট, তবে থ্রেডগুলির বিপদ এবং ক্ষতি সম্পর্কে খুব স্পষ্ট এবং তথ্যপূর্ণ।

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

জেভিএম উপর concurrency প্রোগ্রামিং - এই এক আসলে হয় একটি কাটল তাত্ত্বিক গ্রন্থ, কিন্তু খুব, খুব পাঠযোগ্য এবং অন্তর্দৃষ্টিপূর্ণ। আপনার যদি এসটিএম বা অভিনেতা কী তা জানা দরকার, তাদের শক্তি এবং দুর্বলতাগুলি কী এবং কেন , এই বইটি আপনাকে জানাবে।

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


4

জো আলবাহারির দেওয়া এই বিনামূল্যে থ্রেডিং সংস্থানটি আমি দুর্দান্ত পেয়েছি ...

সি # তে থ্রেডিং

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

টিউটোরিয়ালটি পাঁচটি অংশে রয়েছে:

এটি বই আকারে এখানে উপলভ্য: সংক্ষেপে সি # 4.0 (অধ্যায় 23 এবং 24)


1
+1 টি, এই আমার স্বাভাবিক "গো-থেকে" থ্রেডিং / সম্পাতবিন্দু / উপমা জন্য রেফারেন্স .NET মধ্যে
ম্যাথু রাজা

4

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


1

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

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

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


1

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

এটিতে মেসেজ পাসিং, মিটেক্সেস ইত্যাদি রয়েছে যা আপনার প্রায় সকল সমাবর্তনের প্রয়োজনগুলিকে আচ্ছাদন করে এবং এগুলিতে অন্যান্য ভাষায় আরও জটিল সমতুল্য রয়েছে।

উদাহরণস্বরূপ, aসিপিতে এমপিআই ব্যবহার করে অন্য থ্রেড থেকে ভেরিয়েবলে কোনও ইন্টি গ্রহণ করা :

MPI_Recv(&a, 1, MPI_INT, 0, 0, MPI_COMM_WORLD,MPI_STATUS_IGNORE);

চলার সময় অন্য (ব্যবহারকারী) থ্রেড থেকে ভেরিয়েবল এ এর ​​জন্য একটি int প্রাপ্তি:

a := <-c

অনুশীলনে যান শিখতে, গো ট্যুরটি পরীক্ষা করে দেখুন, যেখানে আপনি আপনার ব্রাউজারে গো কোড লিখতে, সংকলন করতে এবং চালাতে পারেন।

tour.golang.org

একযোগে অংশে এড়ানো

http://tour.golang.org/concurrency/1

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

একযোগে প্রোগ্রামিং এর মৌলিক

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