আমি কিছুটা বিভ্রান্ত হয়ে পড়েছি Parallel.ForEach
।
কী Parallel.ForEach
এবং এটি ঠিক কী করে?
দয়া করে কোনও এমএসডিএন লিঙ্কটি উল্লেখ করবেন না।
এখানে একটি সাধারণ উদাহরণ:
string[] lines = File.ReadAllLines(txtProxyListPath.Text);
List<string> list_lines = new List<string>(lines);
foreach (string line in list_lines)
{
//My Stuff
}
আমি কীভাবে এই উদাহরণটি আবার লিখতে পারি Parallel.ForEach
?
এটির উত্তর এখানে দেওয়া যেতে পারে stackoverflow.com/questions/3789998/…
—
উজ্জ্বল মানন্ধর
@ উজ্জ্বল মানান্ধার এটি
—
রিড কোপসি
Parallel
ক্লাসের মধ্যে পার্থক্য এবং পিআইএনএলকিউ ব্যবহারের বিষয়ে জিজ্ঞাসা করাতে আসলেই অন্যরকম ।
অন্যরা উত্তর দিয়েছেন যে কীভাবে আপনি আবার লিখতে পারেন। তাহলে এটি কি করে? এটি সংগ্রহের প্রতিটি আইটেমের উপর যেমন একটি সাধারণের মতো "ক্রিয়া" করে
—
জেপ্প স্টিগ নীলসন
foreach
। পার্থক্যটি হল সমান্তরাল সংস্করণ একই সাথে অনেকগুলি "ক্রিয়া" করতে পারে। বেশিরভাগ ক্ষেত্রে (কম্পিউটারটি কী কোডটি চালাচ্ছে, এবং এটি কতটা ব্যস্ত, এবং অন্যান্য স্টাফের উপর নির্ভর করে) এটি দ্রুত হবে এবং এটিই সবচেয়ে গুরুত্বপূর্ণ সুবিধা। মনে রাখবেন যে আপনি যখন এটি সমান্তরালভাবে করেন, আপনি কী ক্রমে আইটেমগুলি প্রক্রিয়াজাত করতে পারবেন তা জানতে পারবেন না । একটি সাধারণ (সিরিয়াল) সহ foreach
, আপনি গ্যারান্টিযুক্ত যা lines[0]
প্রথমে আসে, তারপরে lines[1]
এবং আরও অনেক কিছু।
@ জেপ্পস্টিগনিয়েলসন জিনিসগুলি সমান্তরাল করার ক্ষেত্রে উল্লেখযোগ্য ওভারহেড থাকায় এটি সর্বদা দ্রুত হবে না । এটি আপনি যে সংগ্রহটি পুনরাবৃত্তি করছেন তার আকার এবং এর মধ্যে ক্রিয়া নির্ভর করে। করণীয় সঠিক জিনিসটি আসলে প্যারালাল.ফোরএচ () ব্যবহার এবং ফোরচ () ব্যবহারের মধ্যে পার্থক্য পরিমাপ করা । অনেক সময় একটি সাধারণ ভবিষ্যদ্বাণী () দ্রুত হয়।
—
ডেভ ব্ল্যাক
নিবন্ধন করুন এক করতে হবে পরিমাপ তা অপেক্ষাকৃত দ্রুত বা ধীরগতির হয়, প্রতিটি ক্ষেত্রে। আমি কেবল সাধারণভাবে সমান্তরালতা বর্ণনা করার চেষ্টা করছিলাম।
—
জেপ্পে স্টিগ নীলসন