تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
استخدام parallel for
#1
كيف استخدم parallel for لتسريع الكود
كود :
Dim idx As Integer = DGVTest(6, DGVTest.SelectedRows(0).Index).Value.ToString
        Dim dt As DataTable = New DAL().selectdatatable(String.Format("SELECT Test_Price, Test_No FROM Tests order by Tests.Test_No;"))
        Dim d As New DAL
        d.Dataedit(String.Format("delete from comprices where comid={0} ", idx))
        For i As Integer = 0 To dt.Rows.Count - 1
            d.Dataedit(String.Format("insert into comprices (TestPrice,Test_No,comid) values({0},{1},{2})", dt.Rows(i)(0), dt.Rows(i)(1), idx))

        Next
M.M
الرد }}}
تم الشكر بواسطة:
#2
(16-05-22, 01:28 AM)makky كتب : كيف استخدم parallel for لتسريع الكود
كود :
Dim idx As Integer = DGVTest(6, DGVTest.SelectedRows(0).Index).Value.ToString
       Dim dt As DataTable = New DAL().selectdatatable(String.Format("SELECT Test_Price, Test_No FROM Tests order by Tests.Test_No;"))
       Dim d As New DAL
       d.Dataedit(String.Format("delete from comprices where comid={0} ", idx))
       For i As Integer = 0 To dt.Rows.Count - 1
           d.Dataedit(String.Format("insert into comprices (TestPrice,Test_No,comid) values({0},{1},{2})", dt.Rows(i)(0), dt.Rows(i)(1), idx))

       Next

كود :
Imports System
Imports System.IO
Imports System.Threading
Imports System.Threading.Tasks

Public Class Example
   Public Shared Sub Main(ByVal args As String())
       Dim totalSize As Long = 0

       If args.Length = 0 Then
           Console.WriteLine("There are no command line arguments.")
           Return
       End If

       If Not Directory.Exists(args(0)) Then
           Console.WriteLine("The directory does not exist.")
           Return
       End If

       Dim files As String() = Directory.GetFiles(args(0))
       Parallel.[For](0, files.Length, Sub(index)
                                           Dim fi As FileInfo = New FileInfo(files(index))
                                           Dim size As Long = fi.Length
                                           Interlocked.Add(totalSize, size)
                                       End Sub)
       Console.WriteLine("Directory '{0}':", args(0))
       Console.WriteLine("{0:N0} files, {1:N0} bytes", files.Length, totalSize)
   End Sub
End Class
المصدر : https://docs.microsoft.com/en-us/dotnet/...l-for-loop
الرد }}}
تم الشكر بواسطة:
#3
معذرة انا مش قادر افهم الكود.ازاي استخدمه في event وايه المقصود ب sub(index)
M.M
الرد }}}
تم الشكر بواسطة:
#4
قمت بتحويل الكود الي
كود :
Dim idx As Integer = DGVTest(6, DGVTest.SelectedRows(0).Index).Value.ToString
        Dim dt As DataTable = New DAL().selectdatatable(String.Format("SELECT Test_Price, Test_No FROM Tests order by Tests.Test_No;"))
        Dim d As New DAL
        d.Dataedit(String.Format("delete from comprices where comid={0} ", idx))

        Parallel.[For](0, dt.Rows.Count - 1, Sub(i)
                                                 d.Dataedit(String.Format("insert into comprices (TestPrice,Test_No,comid) values({0},{1},{2})", dt.Rows(i)(0), dt.Rows(i)(1), idx))

                                             End Sub)
        MessageBox.Show("تمت العمليه بنجاح", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
ولكن تظهر الخطأ
Attempting to free an in-use RCW can cause corruption or data loss.
M.M
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  استخدام فونت جديد في البرنامج Emam emam 5 140 14-04-24, 01:29 PM
آخر رد: عبد العزيز البسكري
  [VB.NET] أرغب فى استخدام هذا الكود بالتحديد على الإصدار 10 AmeenRashed 3 233 19-01-24, 12:42 PM
آخر رد: Taha Okla
  [VB.NET] كيف اقوم بمنع المستخدم من استخدام الكيبورد وخصوصا مفتاح Print screen Ameenh 0 274 07-10-23, 10:45 PM
آخر رد: Ameenh
  طريقة استخدام حلقة For Each ASUS2020 5 613 11-04-23, 01:26 AM
آخر رد: ASUS2020
  [VB.NET] بطئ تحديث كونترول اثناء استخدام linq الماجيك مسعد 9 1,141 23-10-22, 02:39 PM
آخر رد: الماجيك مسعد
Heart كيفية استخدام Class في المشروع أبو خالد الشكري 4 998 21-08-22, 07:00 PM
آخر رد: أبو خالد الشكري
  كيفية استخدام autocomplete for textbox الماجيك مسعد 2 937 08-05-22, 09:31 PM
آخر رد: الماجيك مسعد
  [VB.NET] كيف ننقل ملف إلى جهاز على الشبكة مع استخدام اسم المستخدم وكلمة المرور abomo3ath 5 1,561 27-04-22, 05:41 AM
آخر رد: أبووسم
  [سؤال] هل من طريقة فعالة لمنع استخدام البرنامج على جهاز آخر؟ Hazem1 1 1,328 10-12-21, 08:02 PM
آخر رد: اسامه الهرماوي
  السلام عليكم اريد استخدام هذا الجدول مع كتابة المسافه select*from patent data ahmedhhh2 4 1,211 22-11-21, 07:31 AM
آخر رد: ahmedhhh2

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم