একটি প্যাটার্ন যা আমি বেশ কয়েকবার এসেছি সেগুলি হ'ল সেই মানটির তালিকাতে কিছু পরীক্ষা ম্যাপ করে এবং কোনও বা সমস্ত উপাদান উত্তীর্ণ হয়েছে কিনা তা দেখে পরীক্ষা করে নেওয়া দরকার। সাধারণ সমাধানটি কেবল সুবিধাজনক বিল্ট-ইনগুলি ব্যবহার করার জন্য all
এবং any
।
সমস্যা হ'ল এগুলি সিরিয়ালে মূল্যায়ন করে। বেশিরভাগ ক্ষেত্রে কোনও থ্রেডের জন্য "মিথ্যা" বা "সত্য" এর সন্ধান পেলে প্রক্রিয়া সমাপ্ত হওয়ার সাথে সমান্তরালভাবে মূল্যায়ন করা আরও দ্রুত হবে । আমি নিশ্চিত যে শর্ট-সার্কিট আচরণটি নিয়ন্ত্রণ ব্যবহার করে প্রয়োগ করা যাবে না। প্যারালাল কারণ এর জন্য আন্ত-প্রক্রিয়া যোগাযোগ প্রয়োজন এবং এটি এখনও বাস্তবায়নের জন্য কন্ট্রোল।কন্ট্রোরালের কাছাকাছি কোথাও বুঝতে পারি না।all
any
এটি গণিতে একটি সাধারণ প্রচলিত প্যাটার্ন (যেমন মিলার-রবিন আদিমত্ব) তাই আমি মনে করি ইতিমধ্যে ইতিমধ্যে কেউ এর সমাধান নিয়ে এসেছেন তবে সুস্পষ্ট কারণে "সমান্তরাল বা / এবং / যে কোনও / সমস্ত তালিকার জন্য গুগল অনুসন্ধান করছেন। haskell "অনেক প্রাসঙ্গিক ফলাফল দেয় না।
unamb
গ্রন্থাগার দিয়ে এটি সম্ভব
pthreads
সি বা সবুজ থ্রেড হ্যাসকেলে থাকুক ) আপনি একযোগে ওয়েব অনুরোধগুলি পরিচালনা করতে একাধিক ওয়েবসার্ভার শুরু করবেন না, পরিবর্তে আপনি একক প্রক্রিয়াতে একাধিক থ্রেড চালাবেন! সমান্তরালতার ক্ষেত্রেও একই প্রযোজ্য। আপনার সিপিইউ রয়েছে যতগুলি থ্রেড ছড়িয়ে যায় এবং আপনার কাজকে সমানভাবে বিভক্ত করে দেয়, এভাবে সিপিইউ বাউন্ড টাস্কগুলির যত্ন নেওয়া। নিজেকে github.com/lehins/haskell-scheduler