J'ai un thread en attente sur un EventWaitHandle (AutoResetEvent):Est-il sûr d'appeler .Close (.Dispose) sur un EventWaitHandle directement après .Set?
AutoResetEvent.WaitOne();
J'ai un autre fil de signalisation le premier fil à continuer
AutoResetEvent.Set();
AutoResetEvent.Close();
Est-il sûr d'appeler .Close directe après .Set, en d'autres termes sera-t-il garanti que le thread d'attente a continué avant que le AutoResetEvent soit éliminé?
Les [docs pour 'Fermer'] (https://msdn.microsoft.com/en-us/library/system.threading.waithandle.close (v = vs.110) .aspx) disent: _" Une fois que cette méthode est appelée, les références à l'instance en cours provoquent un comportement indéfini. »_ Que ce soit pour de nouvelles références ou que des appels existants comme 'WaitOne' ne soient pas clarifiés. Mais je ne voudrais pas l'essayer ... pourquoi ne pas fermer/disposer de celui qui fait l'attente? –
Parce que l'attente est facultative, donc elle ne sera pas éliminée alors si l'attente n'est pas faite ... – Edwin