মুখবন্ধ
আপনার কাজটি বারবার চালানো দরকার তা নিশ্চিত হন। একে ব্যস্ত ওয়েটিং এবং প্রায় সর্বদা সাবটটিমাল বলা হয়। যদি আপনার কাজটি একটি সাবপ্রসেসের আউটপুট অনুসন্ধান করছে, উদাহরণস্বরূপ, আপনি কেবল subprocess.wait()
এটি শেষ করার জন্য করতে পারেন । যদি আপনার কাজটি ফাইল সিস্টেমের কোনও ফাইল বা ডিরেক্টরিটির স্পর্শ হওয়ার জন্য অপেক্ষা করে থাকে, আপনি কার্নেল দ্বারা পরিচালিত ফাইল সিস্টেম ইভেন্ট থেকে আপনার কোডটি ট্রিগার করার জন্য পাইনোটাইফাই ব্যবহার করতে পারেন ।
উত্তর
এইভাবে আপনি অত্যধিক সিপিইউ না খেয়ে ব্যস্ততার জন্য অসীম লুপটি লেখেন।
পাইথন 2:
from __future__ import print_function
from __future__ import division
import time
while True:
range(10000) # some payload code
print("Me again") # some console logging
time.sleep(0.2) # sane sleep time of 0.1 seconds
পাইথন 3:
import time
while True:
range(10000) # some payload code
print("Me again") # some console logging
time.sleep(0.2) # sane sleep time of 0.1 seconds
মূল্যায়ন
@Gnibbler যেমন অন্য উত্তরে পরীক্ষা করা হয়েছে , উপস্থাপিত কোডটি সাম্প্রতিক মেশিনগুলিতে 1% এর বেশি সিপিইউ গ্রহণ করা উচিত নয়। যদি এটি এখনও আপনার পেডলোড কোডের সাথে খুব বেশি সিপিইউ গ্রহণ করে তবে আরও ঘুমানোর জন্য সময় বাড়ানোর কথা বিবেচনা করুন। অন্যদিকে, পে-লোড কোডটি বারবার সম্পাদনের জন্য অনুকূলিত হওয়া প্রয়োজন। উদাহরণস্বরূপ, ক্যাচিং অপরিবর্তিত ডেটাতে চলমান গতি বাড়িয়ে তুলতে পারে।
ক্রেডিট
এই উত্তরটি @ user2301728 এর উত্তরের ভিত্তিতে তৈরির চেষ্টা করে ।