c# - Is Graphics.DrawImage asynchronous? -
मैं बस सोच रहा था, है Graphics.DrawImage ()
asynchronous? मैं एक धागा सुरक्षा समस्या से जूझ रहा हूं और यह समझ नहीं पा रहा कि समस्या कहाँ है।
अगर मैं जीयूआई थ्रेड में निम्न कोड का उपयोग करता हूं:
संरक्षित ओवरराइड शून्य ओनपेंट (पेंटएवेंटएर्ग्स ई) {लॉक (_बेटमैप सिंक्रूट) {e.Graphics.DrawImage (_bitmap, _xPos, _yPos); }}
और एक अलग थ्रेड में निम्न कोड है:
निजी शून्य RedrawBitmapThread () {बिटमैप newBitmap = नया बिटमैप (_width, _height); // ड्रा बिटमैप // बिटमैप पुराना बिटमॅप = नल; लॉक (_bitmapSyncRoot) {oldBitmap = _bitmap; _bitmap = newBitmap; } अगर (पुराना बिटमैप! = नल) {oldBitmap.Dispose (); } आमंत्रित करें (अमान्य); }
क्या यह एक ऐक्सेसइलाइलेशन अपवाद समझा सकता है?
कोड कॉम्पैक्ट ढाँचा 3.5 के साथ विंडोज़ मोबाइल 6.1 डिवाइस पर चल रहा है।
संपादित करें:
कोई बात नहीं, यह तब भी होता है जब तरीकों को एक ही धागे में निष्पादित किया जाता है ..
अच्छा, DrawImage async नहीं है रूपरेखा स्वचालित रूप से इसे async नहीं बनायेगा इसके अलावा, अधिकांश एएसआईएनसी ऑपरेशन्स में 'आरम्भ' के साथ शुरू होता है।
मुझे यकीन नहीं है कि आपकी त्रुटि कहां से आ रही है, लेकिन आप कर सकते हैं:
- हमें बताएं कि AccessViolationException क्या लाइन से फेंकता है?
- सुनिश्चित करें कि _bitmapSyncRoot आरंभीकृत है?
Comments
Post a Comment