GUID ليس فريدًا تمامًا: مضاد بسيط
]الفكرة العامة التي تفيد بأن GUID قد تم استجوابها. توفر هذه المقالة برنامج C# بسيط لإظهار عدم إقرار GUIDS ويأتي مع إصدار محسن لتحسين استقرار البرنامج وأداءه.
البرنامج الأولي
]حاول البرنامج الأولي التكرار على سلسلة من GUIDS ، والتي كان من المتوقع أن تستغرق وقتًا طويلاً. ومع ذلك ، نظرًا لتنفيذها البسيط ، فإنه يفشل في تحقيق النتائج المتوقعة.
نسخة محسّنة
]لحل هذه المشكلة ، تم إعادة تمثيل البرنامج:
تنفيذ البرنامج
يملأ البرنامج أولاً Bigheapoguids مع Guids قدر الإمكان ، ومرهقة فعالة الذاكرة المتاحة. ثم يبدأ الخيط في توليد GUID ويبحث عن تطابق في Bigheapoguids. تستمر هذه العملية إلى أجل غير مسمى ، على افتراض أن الكون لم ينتهي بعد.
المشكلات المحتملة
يعتمد البرنامج على OutofMemoryException للإشارة إلى متى تم استنفاد الذاكرة التي ولدت GUID. هذا يعتبر غير فعال ويمكن أن يؤدي إلى سلوك لا يمكن التنبؤ به.
إدارة الذاكرة
]لتحسين إدارة الذاكرة ، تم تحديث البرنامج لاستخدام جامع القمامة بشكل أكثر كفاءة. تدير GC تلقائيًا تخصيص الذاكرة وإصدارها ، مما يسمح للبرامج بالتشغيل إلى أجل غير مسمى.
تالي
على الرغم من هذه التحسينات ، يفترض البرنامج أن الكون لم ينته بعد. في حالة حدوث صمت الحرارة الكونية ، سيتم إغلاق البرنامج بأمان.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3