থ্রেড চালানো চালিয়ে যাওয়ার সময় কোনও ফাংশন কলকে বিলম্ব করার মতো সহজ কোনও সহজ পদ্ধতি আছে?
যেমন
public void foo()
{
// Do stuff!
// Delayed call to bar() after x number of ms
// Do more Stuff
}
public void bar()
{
// Only execute once foo has finished
}
আমি সচেতন যে একটি টাইমার এবং ইভেন্ট হ্যান্ডলার ব্যবহার করে এটি অর্জন করা যেতে পারে, তবে আমি ভাবছিলাম যে এটি অর্জনের জন্য কোনও স্ট্যান্ডার্ড সি # উপায় আছে কিনা?
যদি কেউ কৌতূহলী হন তবে এর প্রয়োজনীয়তার কারণটি হ'ল foo () এবং বার () বিভিন্ন (একক) ক্লাসে রয়েছে যা ব্যতিক্রমী পরিস্থিতিতে আমার একে অপরকে ডাকতে হবে। সমস্যাটি যে এটি আরম্ভের সময় করা হয়েছিল তাই foo এর জন্য বার বার কল করা দরকার যা তৈরি করা হচ্ছে foo ক্লাসের একটি উদাহরণ প্রয়োজন ... সুতরাং foo সম্পূর্ণরূপে তাত্ক্ষণিকভাবে রয়েছে কিনা তা নিশ্চিত করার জন্য বার () এ বিলম্বিত কলটি পড়ছে .. এটি পিছনে পড়া খারাপ ডিজাইনের প্রায় স্মাক!
সম্পাদনা
আমি পরামর্শের অধীনে খারাপ নকশা সম্পর্কে পয়েন্টগুলি নেব! আমি দীর্ঘদিন ধরে ভেবেছিলাম যে আমি সম্ভবত সিস্টেমের উন্নতি করতে সক্ষম হব, তবে এই দুষ্টু পরিস্থিতি কেবল তখনই ঘটে যখন কোনও ব্যতিক্রম ছুঁড়ে ফেলা হয়, অন্য সমস্ত সময়ে দুটি সিঙ্গলেটনের খুব সুন্দরভাবে সহ-উপস্থিত থাকে। আমি মনে করি যে আমি অদ্ভুত অ্যাসিঙ্ক-প্যাটার্সের সাথে গণ্ডগোল করতে যাচ্ছি না, বরং আমি ক্লাসগুলির মধ্যে একটির সূচনাটি রিফেক্টর করতে যাচ্ছি।