PDA

نسخه کامل مشاهده نسخه کامل : چه جوری یه برنامه رو مثل یک آنتی ویروس run کنم؟؟؟؟؟؟؟؟



cookie
18-09-2007, 15:43
آقا جون من میخوام یه برنامه (c#)بنویسم که با یک سخت افزار در ارتباطه با هر event که رخ میده برنامه اطلاعات رو از پورت میخونه و کارهایی انجام میده که بماند... حالا من میخوام بدونم برنامم باید 24 ساعته در حال run شدن باشه تا یه event رو تشخیص بده این قضیه کلیcpu مصرف میکنه آیا میشه برنامه یه جورایی مثل انتی ویروس در حال run شدن باشه و cpu هم مصرف نکنه؟؟؟؟؟؟؟؟؟؟؟عاجزانه درخواست راهنمایی دارم:41::41:

_H2_
19-09-2007, 09:59
سلام
برنامه ای که run باشد بدون شک منابع سیستم را مصرف میکند و این شما هستید که باید با کد نویسی صحیح بار کمتری به cpu تحمیل کنید، مثلاً اگر برای کاری رویدادی وجود دارد خودتان حلقه تشخیص تشکیل ندهید و یا اگر حلقه ای در برنامه دارید، ریسمان جاری را بین اجرای هر بار حلقه کمی آزاد کنید مثلاً به جای ک حلقه مدام برنامه هر یک دهم ثانیه یک دور حلقه را رد کند و....
اگر منطقی است و شرایط مناسب است از چند ریسمانی استفاده کنید، یا اگر زیاد مهم نیست اولویت Priority ریسمانتان را کم بگذارید تا اگر CPU کار مهم دیگری نداشت به برنامه شما برسد ولی خط هم اجرا شود (مثل idle) نباشد و...

در کد نویسی دقت کنید و بار را کاهش دهید.