طريقة الحصول على وقت وحدة المعالجة المركزية برمجيا لخيط ، في C ، الذي يعمل على كل من OpenSolaris و Linux

StackOverflow https://stackoverflow.com/questions/2610484

  •  25-09-2019
  •  | 
  •  

سؤال

لديّ خفي صغير أكتبه في C وأحتاج إلى طريقة للحصول على وقت وحدة المعالجة المركزية الحالية على موضوع. يبدو أن Linux يوفر عددًا من الطرق للقيام بذلك ، clock_gettime (clock_thread_cputime_id ، ...) ، pthread_getcpuclockid () ، getRusage (rusage_thread ، ...) ولكن لا يبدو أن أيا منها مدعوم تحت OpenSolaris 2009.06.

هل هناك طريقة ودية منصة للوصول إلى وقت وحدة المعالجة المركزية الحالية لخيط؟ إذا لم يكن الأمر كذلك ، فهل هناك أي طريقة للقيام بذلك في OpenSolaris على الإطلاق؟ في هذه المرحلة ، أنا حتى على استعداد لوضع مجموعة من التوجيهات المترجم القبيح لجعل هذا العمل.

هل كانت مفيدة؟

المحلول

بالنسبة الى "أولوية الخيط على منصة سولاريس", ، Solaris 9 وما فوق الافتراضي لمراسلات فردية بين المواضيع و LWPs (عمليات خفيفة الوزن). لذلك ، وفقا ل GetRusage ManPage, ، يجب أن تكون قادرًا على الاتصال getrusage(RUSAGE_LWP, ...).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top