के बराबर सी # भाषा मैं एक आरएफ रीडर डिवाइस के साथ काम कर रहा हूं जिसमें सी # एपीआई है। इसकी एपीआई पर आधारित, आपको कार्ड को पढ़ने/बैज करने के लिए मैन्युअल रूप से अपने पढ़ने के फ़ंक्शन को आवेक करना होगा।सी # भाषा अनुसूचितExecutorService
तो मेरा कामकाज टाइमर का उपयोग प्रत्येक 'एन' सेकंड पढ़ने के लिए करना है।
मेरी समस्या यह है कि टाइमर लगातार निष्पादन कर रहा है, भले ही Thread.sleep() को इसके क्रिया के अंदर बुलाया गया हो।
Timer timer = new Timer(TimerCallback, null, 500, 1000); // From main() method
// The action that Timer executes
private void TimerCallback(Object o)
{
scan(); // Action for reading/badging card
scand.WaitOne(); // AutoResetEvent(true)
GC.Collect(); // Force garbage collection
}
थ्रेड.sleep() स्कैन() के अंदर आक्रमण।
जावा में, मैं सिंक्रनाइज़() का उपयोग अन्य थ्रेड को कॉल करने के लिए कॉल करने के लिए करता हूं()। मैंने पूरे दिन खोज की है और मैं एक वर्कअराउंड नहीं देख सकता जो अनुसूचितExecutorService के बराबर होगा और सिंक्रनाइज़()।
मुझे उम्मीद है कि इस कारण से मुझे एक कामकाज है जितनी जल्दी हो सके मुझे इसकी आवश्यकता है।
धन्यवाद!
आप टास्क वर्ग पर एक नजर है किया ? http://stackoverflow.com/questions/13211334/how-do-i-wait-until-task-is-finished-in-c – fuchs777
जब मैं खोज रहा हूं तो मैंने कार्य वर्ग देखा लेकिन कोड @ एर्नो डी वीरड को हल किया गया मेरी समस्या। लेकिन वैसे भी धन्यवाद। –