![]() |
|
إضافة سجلات بإستعمال ثريد - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : إضافة سجلات بإستعمال ثريد (/showthread.php?tid=5509) |
إضافة سجلات بإستعمال ثريد - dztr - 02-09-2013 السلام عليكم أود إضافة حوالي 200000 سجل بإستعمال ثريد عند عدم استعمال ثريد العملية تنجح وعند استعمال تفشل العملية ? :confused: عموما المرفق يوaح كل شيء إضافة سجلات بإستعمال ثريد - SMP3 - 02-09-2013 و عليكم السلام المشكل أنك تستخدم thread غير آمن non safe .. للتخاطب مع المكونات من داخل الثريد عليك أن تستخدم الدالة Synchronize للقراءة أو الكتابة ألق نظرة .. لقد عدلت على المثال : PHP كود : unit uExm;استخدم FreeOnTerminate حتى يتم تحرير الثريد بشكل تلقائي ---------------------------------------------- لكن مع هذا ستلاحظ تجمد في واجهة المستخدم لأن أغلب مكونات دلفي لا تدعم مصطلح safe thread يتوجب عليك في هذه الحالة : أن تضع أكواد الاتصال داخل الثريد .. (يجب أن تنشئ المكونات يدويا داخل ال constructor PHP كود : unit uExm;بالتوفيــــــق .. إضافة سجلات بإستعمال ثريد - smart24 - 02-09-2013 لما لا تنشئ procedure جديد ثم تستخدم CreateThread http://msdn.microsoft.com/en-us/library/windows/desktop/ms682453(v=vs.85).aspx إضافة سجلات بإستعمال ثريد - dztr - 02-09-2013 بارك الله فيك SMP3 الأن كل شيء واضح ممكن تنصحني بأسرع طريقة لإضافة 200000 سجل في زمن قياسي smart24 كتب :لما لا تنشئ procedure جديدليست عندي معلومات عن هذه دالة اعتقد الان ان استعمل ثريد بواسطة دلفي وعدم الاقتراب الى توابع api إضافة سجلات بإستعمال ثريد - SMP3 - 02-09-2013 smart24 كتب :لما لا تنشئ procedure جديد النتيجة واحد لذلك يفضل استخدام ال vcl بدل توابع api ستدخل في مشاكل كثيرة باستخدام الدالة CreateThread الدالة CreateThread تستعمل للدوال الصغيرة فقط , أما في المشاريع الكبيرة فلا أنصح باستعمال توابع api . dztr كتب :بارك الله فيك SMP3 الأن كل شيء واضحليست هناك طريقة : الأمر مرتبط بالدرايفر المستخدم لقاعدة البيانات + بنية و هيكل قاعدة البيانات إضافة سجلات بإستعمال ثريد - محمد الدرة - 04-09-2013 اذا كانت ال 200000 سجل موجوده في قاعدة بيانات اخرى استخدام الاستعلام insert into لن يستغرق الامر ثانيتين وكله على حسب جهازك اي انك لن تضطر لاستخدام الثريد |