تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] هل توجد امكانية resume لدى Backgroundworker
#6
السلام عليكم

الطريقة الصحيحة لايقاف Thread او حتى BackgroundWorker هي باستخدام كائن يسمى ManualRestEvent وليست باستعمال الloop مع الSleep


هذا المثال التالي يشرح كيفية عمل ذلك :
كود :
Private mre As New ManualResetEvent(True)



Private Sub Form1_Load(sender As Object, e As EventArgs)
    Control.CheckForIllegalCrossThreadCalls = False
    backgroundWorker1.RunWorkerAsync()
End Sub


Private Sub backgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs)
    '....
    '....
    '....
    '....


    For i As Integer = 0 To 9999999

        mre.WaitOne()
        ' الكود اعلاه سيقوم بايقاف هذا الاجراء عندما يتم اعطاءه اشارة سلبية من اجراء اخر
        'الاشارة اما ان تكون ايجابية او سلبية
        'السلبية ستعني ايقاف هذا الاجراء
        'Reset() ويتم اعطاء الاشارة السلبية بواسطة الدالة
        'Set() ويتم اعطاء الاشارة الايجابية التي ستقوم باكمال هذا الاجراء بواسطة الدالة

        label1.Text = i.ToString()
    Next


    '....
    '....
    '....
    '....
End Sub


Private Sub PauseButton_Click(sender As Object, e As EventArgs)
    mre.Reset()
    'اعطاء اشارة سلبية
End Sub

Private Sub ResumeButton_Click(sender As Object, e As EventArgs)
    mre.Set()
    'اعطاء اشارة ايجابية
End Sub

البرنامج :-



هذي هي الطريقة الصحيحة التي لاترهق المعالج وتقوم بوظيفتها على اكمل وجه
تحياتي
الرد }}}
تم الشكر بواسطة: سعود , kslawy , السندبااد , ابو روضة , asemshahen5


الردود في هذا الموضوع
RE: هل توجد امكانية resume لدى Backgroundworker - بواسطة الشاكي لله - 17-10-14, 07:08 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Star لا توجد مساحة كافية كريستال ريبورت مشكلة waataanys 1 433 08-10-23, 03:51 PM
آخر رد: justforit
  لا توجد امكانية اختيار splshscreen سعود 0 513 15-07-22, 07:22 AM
آخر رد: سعود
  [سؤال] مشكله في backgroundworker حسن الجلب 7 2,078 16-01-22, 05:20 PM
آخر رد: ابو روضة
  [سؤال] عب توجد طريقه للبحث للصور حسن الجلب 1 1,001 06-02-21, 07:30 AM
آخر رد: معاند الحظ
  [سؤال] هل توجد طريقه الكتابه علي الصور حسن الجلب 3 2,004 20-01-21, 10:57 PM
آخر رد: asemshahen5
  [سؤال] هل توجد طريقه بحث بالصور حسن الجلب 1 983 29-11-20, 11:22 AM
آخر رد: Anas Mahmoud
  [سؤال] هل توجد طريقه للتحقق إذا كانت الليست بوكس أو الكومبوبوكس متصله بقاعدة بيانات منه 1 1,365 29-08-20, 06:28 PM
آخر رد: Anas Mahmoud
  [سؤال] هل توجد طريقه لمعرفه عدد ايام الشهر وكذا السنه منه 1 1,361 03-08-20, 08:29 PM
آخر رد: asemshahen5
  [سؤال] هل توجد طريقه في عمل حذف الاعمده المحدده فقط داخل الجريد فيو العاديه منه 4 1,721 26-07-20, 03:36 PM
آخر رد: asemshahen5
  [سؤال] هل توجد طريقه لتوليد ارقام عشوائيه منه 3 2,208 19-07-20, 12:49 PM
آخر رد: قناص المدينة

التنقل السريع :


يقوم بقرائة الموضوع: