الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن الـ multi-threading

بدأه (الخوارزمي) في 7 فبراير 2011 · 6 رد · 1,090 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته

أسأل عن إمكانية تنفيذ أكثر من أمر في نفس الوقت باستخدام الـ console .

انظر الآتي..


#include <windows.h>
#include <iostream>
using namespace std;

int main()
{
Beep(50,60000);
cout<<"In the same time of the sound !\n";
system("pause");
return 0;
}

عند التطبيق يحدث الآتي..

ظهور صوت لمدة دقيقة كاملة

بعد ذلك تظهر الجملة.

و المطلوب هو أن تظهر الجملة أُثناء ظهور الصوت

وليس بعد أن ينتهي الصوت .

ماذا قد أستفيد من هذا ؟

مثلا إظهار ساعة إيقاف علي شاشة البرنامج بينما يباشر البرنامج عمله .

و في بعض الألعاب إذا تأخر المستخدم عن الإجابة تظهر له رسالة تفيد بأنه قد خسر .

في انتظار الردود و شكرا مقدما

--تحياتي--

#3

كبداية

http://msdn.microsoft.com/en-us/library/ms684841(v=VS.85).aspx

ستحد شرح عن كيفية إنشاء Thread وهناك مثال ..

بعد أن تفهم هذه الأساسيات سيكون بإمكانك البدء بـ Multi-threading .

ابإمكان إستخدام ماوفرته .net في هذا المجال http://msdn.microsoft.com/en-us/library/ms684841(v=VS.85).aspx

#4

السلام عليكم و رحمة الله وبركاته

بعد جزيل التحية والشكر...

أخي هويدي لقد جربت الأكواد الموجودة في رابطك و لكن يظهر لي أخطاء فيها كلها

كما أن الأخ يس قد وضع رابطين لصفحة واحدة فيها شرح لاستخدام الدول

و لا أري أمثلة

تحياتي لكما...

#5

اليك حل بسيط لسؤالك اخي العزيز

#include <iostream>
#include <windows.h>
#include<cstring>
using namespace std;

DWORD WINAPI ThreadProc( LPVOID lpParam ) 
{    
    Beep(50,60000);  
    return 0;
};

int main( ) 
{

    DWORD dwThreadId;

    HANDLE hThread = CreateThread( 
                  NULL,              // default security attributes
                  0,                 // use default stack size  
                  ThreadProc,        // thread function 
                  NULL,             // argument to thread function 
                  0,                 // use default creation flags 
                  &dwThreadId);   // returns the thread identifier                                    


   cout<<"In the same time of the sound !\n";
   system("pause");

while(WaitForSingleObject(hThread,100)!=WAIT_OBJECT_0);
    CloseHandle(hThread);

   return 0;
}

حاول ان تبحث عن الCreateThread function للتعرف على بناء ال treads في نظام ال

windows

تم تعديل هذه المشاركة بواسطة Ali Al-Zyoud في 10 فبراير 2011 في 15:28

3
#6

هل بالضرورة أن أضع لك الوصلة المباشرة؟

http://msdn.microsoft.com/en-us/library/ms682516(v=VS.85).aspx

تعمدت عدم وضعها في ردي لأجعلك تقرأ ما في تلك الوصلة وإن كنت فعلت ستصل للوصلة المباشرة بالمثال . وستدرك أن هناك مجموعة دوال تابعة للنظام في هذا الخصوص..

#7

الأخ علي أنت لا تعلم كم أفدتني !

البرنامج يعمل...

و الإخوة هويدي و يس شاكر جهودكما

تحياتي

مواضيع مشابهة