খারাপ মাল্টিথ্রেডিংয়ের কারণে প্রায়শই / বাস্তবে ব্যর্থ হওয়া কোন প্রকল্প থেকে আপনি কোন পাঠ শিখলেন?
কখনও কখনও, কাঠামোটি একটি নির্দিষ্ট থ্রেডিং মডেল চাপিয়ে দেয় যা জিনিসকে সঠিকতার পক্ষে আরও জটিলতার অর্ড করে তোলে।
আমার হিসাবে, আমি এখনও শেষ ব্যর্থতা থেকে সেরে উঠতে পেরেছি এবং আমি মনে করি যে সেই কাঠামোয় মাল্ট্রিথ্রেডিংয়ের সাথে যে কোনও কিছু করার জন্য আমার কাজ করা ভাল না আমার পক্ষে ভাল।
আমি দেখতে পেলাম যে মাল্টিথ্রেডিংয়ের সমস্যাগুলিতে আমি ভাল ছিলাম যেখানে সাধারণ কাঁটাচামচ / যোগদান রয়েছে এবং যেখানে ডেটা কেবল এক দিকে ভ্রমণ করে (যখন সংকেতগুলি একটি বৃত্তাকার দিকে ভ্রমণ করতে পারে)।
আমি জিইউআই পরিচালনা করতে অক্ষম যেখানে কিছু কাজ কেবলমাত্র কঠোরভাবে সিরিয়ালযুক্ত থ্রেড ("মূল থ্রেড") এ করা যেতে পারে এবং অন্যান্য কাজ কেবল কোনও থ্রেডে করা যেতে পারে তবে মূল থ্রেড ("কর্মী থ্রেড"), এবং যেখানে ডেটা এবং বার্তাগুলিকে N উপাদানগুলির (সমস্তরূপে সংযুক্ত গ্রাফ) মধ্যে সমস্ত দিকে ভ্রমণ করতে হয়।
সেই সময় যখন আমি এই প্রকল্পটি অন্য একটির জন্য রেখেছিলাম তখন সর্বত্র অচলাবস্থার সমস্যা ছিল। আমি শুনেছি ২-৩ মাস পরে, আরও বেশ কয়েকটি বিকাশকারী ডেডলক সংক্রান্ত সমস্ত সমস্যার সমাধান করতে সক্ষম হয়েছিল, যাতে এটি গ্রাহকদের কাছে প্রেরণ করা যায়। আমি যে জ্ঞানের অনুপস্থিত অংশটি অনুভব করছি তা কখনই খুঁজে বের করতে সক্ষম হইনি।
প্রকল্প সম্পর্কে কিছু: বার্তা আইডি সংখ্যা (পূর্ণসংখ্যার মানগুলি যা কোনও ইভেন্টের অর্থ বর্ণনা করে যা থ্রেডিং নির্বিশেষে অন্য কোনও বস্তুর বার্তার কাতারে পাঠানো যেতে পারে) কয়েক হাজারে চলে। অনন্য স্ট্রিং (ব্যবহারকারীর বার্তা) প্রায় এক হাজারে চলে।
যোগ করা হয়েছে
অন্য দলটির কাছ থেকে আমি যে সাদৃশ্য পেয়েছি তা হ'ল (আমার অতীত বা বর্তমান প্রকল্পগুলির সাথে সম্পর্কিত নয়) ছিল "ডেটাবেজে ডেটা রাখা"। ("ডাটাবেস" কেন্দ্রীয়ীকরণ এবং পারমাণবিক আপডেটগুলি উল্লেখ করে।) একটি জিইউআইতে যেগুলি একাধিক দর্শনে বিভক্ত হয়ে সমস্ত একই "মূল থ্রেড" এ চলমান থাকে এবং সমস্ত নন-জিইউআই ভারী-উত্তোলন পৃথক কর্মী থ্রেডে করা হয়, আবেদনের ডেটা হওয়া উচিত একটি একক প্লাজে সংরক্ষণ করা হবে যা ডেটাবেসের মতো কাজ করে এবং "ডেটাবেস" কে তুচ্ছ তাত্পর্যপূর্ণ ডেটা নির্ভরতা জড়িত সমস্ত "পারমাণবিক আপডেট" পরিচালনা করতে দেয়। জিইউআইয়ের অন্যান্য সমস্ত অংশ কেবল স্ক্রিন অঙ্কন এবং অন্য কিছুই হ্যান্ডেল করে। ইউআই অংশগুলি স্টাফকে ক্যাশে করতে পারে এবং এটি সঠিকভাবে ডিজাইন করা থাকলে, এটি যদি এক সেকেন্ডের ভগ্নাংশ দ্বারা বাসি হয় তবে ব্যবহারকারীরা তা খেয়াল করবে না। এই "ডাটাবেস" "নথি" হিসাবে পরিচিত ডকুমেন্ট-ভিউ আর্কিটেকচারে। দুর্ভাগ্যক্রমে - না, আমার অ্যাপ্লিকেশনটি ভিউগুলিতে সমস্ত ডেটা সঞ্চয় করে। জানি না কেন এমন ছিল।
সহযোগী অবদানকারী:
(অবদানকারীদের সত্যিকারের / ব্যক্তিগত উদাহরণ ব্যবহার করার দরকার নেই an