কেন আমি সমবর্তী প্রোগ্রামিং জানতে পারি?


17

সাম্প্রতিক প্রোগ্রামিং আমার পক্ষে বেশ কঠিন: এমনকি একটি বেসিক স্লাইডটি দেখা আমার পক্ষে চ্যালেঞ্জ বলে মনে হয়। এটি এত বিমূর্ত মনে হয়।

সমবর্তী প্রোগ্রামিং কনসেপ্টগুলি ভালভাবে জানার সুবিধা কী কী? এটি কি আমাকে নিয়মিত, অনুক্রমিক প্রোগ্রামিংয়ে সহায়তা করবে? আমি জানি যে আমাদের প্রোগ্রামগুলি কীভাবে কাজ করে তা বোঝার জন্য একটি তৃপ্তি রয়েছে, তবে আর কী?


3
আমার মনে হয় এটি টপিকির মতো এক প্রকারের, তবে আপনি যদি ব্যক্তিগত সমস্ত জিনিস সম্পাদনা করে থাকেন (তবে একযোগে প্রোগ্রামিং সবার কাছে বেশ কঠিন ) এবং ধারণাগুলির দৃ technical় প্রযুক্তিগত যোগ্যতা জিজ্ঞাসা করেন।
ইয়ানিস

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

3
আমরা আপনাকে কিছু শিখতে অনুপ্রেরণা পেতে সহায়তা করতে পারি না, তবে সমঝোতা সম্পর্কে কেন আপনার জেনে রাখা উচিত তা নিয়ে সাধারণ প্রশ্ন যথেষ্ট পর্যায়ে রয়েছে।

2
আমি সমবর্তী প্রোগ্রামিং জানি। আমি বলতে পারি যে আপনি যে স্লাইডটি সরবরাহ করেছেন তা বুঝতে সহায়তা করে না। পরিবর্তে, ডাইনিং দার্শনিকদের সাথে একটি পার্টিতে যান ।
mouviciel

1
স্বাচ্ছন্দ্য বোধ করুন, এমনকি সর্বশ্রেষ্ঠকেও এটি কঠিন বলে মনে হচ্ছে: informit.com/articles/article.aspx?p=1193856
এসকে-যুক্তি

উত্তর:


32

এখানে একটি দ্রুত এবং সহজ প্রেরণা আছে: আপনি কিছু কোড কিন্তু ক্ষুদ্রতম, দুর্বলতম সিস্টেম চান, আপনি হবে সমবর্তী কোড লেখা হবে না।

মেঘের জন্য লিখতে চান? মেঘে গণনার উদাহরণগুলি ছোট। আপনি বড় পাবেন না, আপনি অনেক ছোট পাবেন। হঠাৎ আপনার ছোট ওয়েব অ্যাপ্লিকেশনটি একটি যুগল অ্যাপ্লিকেশন। আপনি যদি এটির নকশাটি ভালভাবে করেন তবে গ্রাহকরা লাভ করার সাথে সাথে আপনি আরও সার্ভারে টস করতে পারেন। অন্যথায় আপনার শিখতে হবে কীভাবে আপনার উদাহরণের লোড গড় প্যাগ হয় pe

ঠিক আছে, আপনি ডেস্কটপ অ্যাপ্লিকেশন লিখতে চান? প্রতিটি কিছুর দ্বৈত বা আরও বেশি-কোর-সিপিইউ রয়েছে। স্বল্পতম ব্যয়বহুল মেশিন বাদে এবং সবচেয়ে কম ব্যয়বহুল মেশিনযুক্ত লোকেরা সম্ভবত আপনার ব্যয়বহুল সফ্টওয়্যারটির জন্য কাঁটাচামচ করছে না, তারা কি?

আপনি মোবাইল ডেভলপমেন্ট করতে চান? আরে, আইফোন 4 এস এর একটি ডুয়াল-কোর সিপিইউ রয়েছে। বাকিরা খুব বেশি পিছনে থাকবে না।

ভিডিও গেমস? এক্সবক্স 360 একটি মাল্টি-সিপিইউ সিস্টেম, এবং সোনির পিএস 3 মূলত একটি মাল্টি-কোর সিস্টেম।

আপনি যদি সামান্য, সাধারণ সমস্যা নিয়ে কাজ না করেন তবে আপনি সাম্প্রতিক প্রোগ্রামিং থেকে দূরে থাকতে পারবেন না।

২০১ update আপডেট : p 35 র‍্যাস্পবেরি পাইয়ের বর্তমান পুনরাবৃত্তিটি সেল ফোনের জন্য তৈরি একটি চিপে কোয়াড-কোর সিস্টেমের চারপাশে নির্মিত। সমান্তরাল কম্পিউট ইঞ্জিন হিসাবে উচ্চ-শেষ গ্রাফিক্স কার্ডের উপলব্ধতার কারণে এআই-তে নাটকীয় অগ্রগতি কিছু অংশে করা হয়েছে।


1
যদিও আমি নীতিগতভাবে একমত, বলতে Everything has a dual-or-more-core-CPU. Except the least expensive machines.কিছুটা বেআইনী বলে মনে হচ্ছে। প্রচুর লোকের সিঙ্গেল-কোর মেশিন রয়েছে, এটি সস্তা বলে নয়, কারণ তারা যা আছে তাতে তারা খুশি এবং আপগ্রেড করার কোনও প্রয়োজন দেখেনি। তাই বলা হয়, সম্পাতবিন্দু পরিপ্রেক্ষিতে চিন্তা পাশাপাশি একটি একক কোর সিস্টেমে নির্ধারণকারী সাহায্য করবে তাই এটি প্রচেষ্টা যে কোন জায়গায় নষ্ট না হয় আপনি স্বতপ্রণোদিত মাল্টিটাস্কিং অনুমান করতে পারেন, হয় (যা, হয় , যে multitasking পরিবেশ সবচেয়ে ডেভেলপারদের সংস্পর্শে আসা হবে সে বিষয়ে এই দিনগুলি).
একটি সিভিএন

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

আমি অবাক হয়েছি যদি আমি আপনার উত্তরটির সাথে যতটা দ্বিমত পোষণ করি তবে আপনি আমার

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

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

21

1970 থেকে প্রায় 2002 প্রসেসর প্রতি 18 মাসে গতিবেগ দ্বিগুণ করে। সুতরাং প্রোগ্রামার হিসাবে আপনাকে যা করতে হবে তা হ'ল অপেক্ষা করতে হবে এবং আপনার প্রোগ্রামটি আরও দ্রুত এগিয়ে যাবে। সমস্যাটি হচ্ছে ২০০২ সালের দিকে নিয়মগুলি পরিবর্তন হয়েছিল changed এখন তারা বড় দ্রুত প্রসেসর তৈরি করছে না তারা আরও কম ধীর প্রসেসর তৈরি করছে তবে তাদের গ্রুপে ফেলে দিয়েছে। আমি এখন যে কম্পিউটারে কাজ করছি সেটিতে 4 টি কোর রয়েছে এবং 8 টি পর্যন্ত কোর (এবং কোর প্রতি 4 টি থ্রেড) রয়েছে। শীঘ্রই পর্যাপ্ত পরিমাণে আমাদের আরও অনেকগুলি কোরের চিপস রয়েছে।

সুতরাং আপনি যদি এমন কোনও প্রোগ্রাম লিখেন যা একেবারে সমবর্তী নয় তবে আপনি দেখতে পাবেন যে আপনি 1 কোর বা থ্রেড ব্যবহার করছেন তবে বাকী সিপিইউ সেখানে কিছু করছে না। সুতরাং আপনার কাছে যদি 16 টি কোর থাকে তবে 1 টি আপনার প্রোগ্রাম চালাচ্ছে এবং অন্য 15 জন সেখানে বসে আছেন!

সম্মতিযুক্ত সমস্যাটি হ'ল এটি নির্জনবাদী। কোনটি বলতে গেলে বিভিন্ন থ্রেডগুলি কী আদেশ করবে তা আপনি ঠিক জানেন না ditionতিহ্যগতভাবে প্রোগ্রামাররা লক এবং এগুলি ব্যবহার করে এটি সমাধান করার চেষ্টা করেছে। এই নিয়ে গেছেন অনেক ব্যথা। পরিবর্তনশীল রাষ্ট্রের এমন কিছু ফর্ম থাকা যে একাধিক থ্রেড অবাধে অ্যাক্সেস করতে পারে তা প্রায়শই ব্যথা এবং হিজেনব্যাগগুলির সূত্র!

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

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

আসলে আমি কিছুটা সরল করে দিয়েছি, ক্লোজার এবং হাস্কেল দুজনেই মেসেজ পাসিং করতে পারে এবং এরলং এসটিএম করতে পারে।

দাবি অস্বীকার আমি এরলংয়ের সাথে প্রোগ্রামিং ওয়েব পরিষেবাদির লেখক , যা আগামী কয়েক সপ্তাহের প্রথম দিকে প্রকাশিত হবে।


1
@ জাচারি কে: কী এমন পন্থাগুলি রয়েছে যেগুলি ফাংশনাল ভাষাগুলিকে স্থানীয় ভাষার সাথে মিশ্রিত করে যাতে গণনা-নিবিড় অংশগুলি স্থানীয় ভাষায় প্রয়োগ করা হয় তবে তারা ইন্টারফেস সরবরাহ করে যা কার্যকরী ভাষায় লিখিত কোনও সার্ভার দ্বারা গ্রাস করা যায়?
rwong

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

1
@ রওয়ং:। নেট প্রোগ্রামারদের তাদের অ্যাপসের কিছু অংশের জন্য সি # বা অন্যান্য অ-কার্যকরী ভাষা এবং অন্যদের জন্য কার্যকর # ভাষা #, # ব্যবহার করতে দেয়।
কেভিন

5

কারণ আপনি যখন কমপক্ষে এটি আশা করেন তখন সম্মতি আপনার মুখে ফুঁকতে পারে ...


4
+10000000000000000000000000000000000000000

8
কনক্যুরঞ্জি হ'ল নতুন স্প্যানিশ তদন্ত [/ অজগর] [যেমন: কেউ প্রত্যাশা করে না ...]
অবসরকি রোবট

1
পছন্দ করুন (ব্যাখ্যার :-p প্রয়োজন না হয়)
ফোরট্রান

4

একযোগে প্রোগ্রামিংয়ের প্রথম নিয়মটি "এটি কঠিন"। সমবর্তী প্রোগ্রামিংয়ের দ্বিতীয় নিয়মটি "এটি। ইজ। ডিফিকাল্ট" .. !!

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

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

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

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

আজকাল বেশিরভাগ ভাষাগুলি জীবনকে কিছুটা সহজ করার জন্য বেশিরভাগ সমসাময়িক আদিমতার চেয়ে বিমূর্ততার সাথে চালিত হয়। উদাহরণস্বরূপ, টাস্ক সমান্তরাল গ্রন্থাগারের সাথে .NET 4 টি জাহাজ যা জীবনকে কিছুটা সহজ করে তোলে। জাভা জমিতে তারা কনক্যুরન્સી প্যাকেজ পেয়েছে ।


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

@ জাচারি: এটি খুব ভাল জিনিস হতে পারে তবে উদাহরণস্বরূপ, আপনি যদি নেট নেটওয়ার্কে কাজ করেন তবে এটি ব্যবহারিক নয়। ভবিষ্যতে এসটিএম একটি বিকল্প হতে পারে তবে এখনই মূলধারার ভাষাগুলিতে এটি কোনও বিকল্প নয়।
শান

Clojure .NET এ চলে এবং সেখানে F # থাকে। আমি বাজি ধরবো যে সি # এর জন্য এসটিএম বাস্তবায়নও রয়েছে।
জাচারি কে

3

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

পিএইচপি দিয়ে কাজ করা, আমি জিনিসগুলি পুরানো রীতি অনুসারে করেছি এবং কয়েক ঘন্টা কাজ করার পরে প্রাপ্ত সেরা সময়টি একটি নির্দিষ্ট পরীক্ষা চালানোর জন্য seconds 120 সেকেন্ডে আসে (অনেক অনুরোধ + নেটওয়ার্ক বিলম্ব + কোনও অ্যাসিঙ্ক) না

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

কয়েক ঘন্টা পরে, আমার কাছে একটি চলমান পাইথন মাল্টিপ্রসেসিং স্ক্রিপ্ট ছিল যা 20 সেকেন্ডের মধ্যে চলেছিল এবং সময়সীমা এবং না দিয়ে কিছুটা বিড়বিড় করার পরে। থ্রেডগুলি ব্যবহার করার জন্য, আমি এটি 10 সেকেন্ডে নেমে এসেছি ।

এটি একক, ১০০ লাইনের পাইথন স্ক্রিপ্ট ব্যতীত পিএইচপি-তে 100% লিখিত ওয়েবসাইটের জন্য ছিল। এবং পুরো জিনিস নিখুঁত কাজ করছে।

আমার উপসংহারটি হ'ল এমনকি যদি এটি আপনাকে প্রতিদিনের ভিত্তিতে সহায়তা না করে তবে আপনি এমন পরিস্থিতিতে পড়তে পারেন যেখানে অন্তত সমবর্তী প্রোগ্রামিংয়ের বেসিকগুলি আপনাকে জানার ক্ষেত্রে যথেষ্ট সাহায্য করবে।

শুভকামনা, এবং শুভ কোডিং!

পিএস: আমি পিএইচপি বাজানোর চেষ্টা করছি না, তবে পিএইচপি সহজভাবে কাজের জন্য সঠিক সরঞ্জাম ছিল না।

পিএস 2: একটি নতুন প্রযুক্তি বা জিনিসগুলি করার একটি নতুন উপায় সম্পর্কে জানার ফলে সম্ভাবনার সম্পূর্ণ নতুন বিশ্বের দরজা খুলে যেতে পারে।


2

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


-1

অপারেটিং সিস্টেমের অন্তর্দৃষ্টি শিখুন। সময়সূচী এবং ডিভাইস ড্রাইভারদের উত্স কোড পড়া সাহায্য করবে; তারা অবশ্যই সমকালীন হয়।


2
প্রোগ্রামারদের জন্য কনক্যুরન્સી সাধারণত আপনার নিজস্ব প্রোগ্রামগুলিতে একাধিক ক্ষেত্রে চলতে থাকে।

আমি জোর দেওয়ার চেষ্টা করেছি যে ওএস কার্নেলের সময়সূচী অ্যালগরিদমের বিবরণ না জেনে আপনি নিজের সমবর্তী প্রোগ্রামটি আর লিখতে পারবেন না।
jj1bdx

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