Buone ragioni per distruggere mutex con thread in attesa

5

Mi piacerebbe vedere alcuni esempi validi di aver bisogno di lasciare che un thread entri in un mutex bloccato, non-entrant, quindi distruggere il mutex (che presumibilmente termina il thread).

Non riesco a pensare a nessuna buona ragione per farlo. Non riesco a ricordare con precisione cosa stavamo discutendo in precedenza oggi, ma il mio collega insiste che tali tecniche siano necessarie per i problemi del "punto di non ritorno" (di nuovo, perdonami, ma ho dimenticato l'esempio che mi ha dato).

    
posta defube 24.07.2012 - 04:09
fonte

2 risposte

5

I supponiamo potresti fare una discussione sul fatto che un mutex che protegge una risorsa dovrebbe essere distrutto e qualsiasi thread in attesa viene ucciso se succede qualcosa alla risorsa (ad esempio thread in attesa di scrivere su un dispositivo che si spegne -linea). O forse in un ambiente difficile in tempo reale in cui tutte le attività che non sono state completate durante il loro quantum devono essere forzate. Un po 'troppo, però, non vedo che si tratti di una soluzione generica.

    
risposta data 24.07.2012 - 16:26
fonte
0

I pensa che stai usando il mutex come semaphore per segnalare che tutti i thread devono essere arrestati. Ciò potrebbe essere utile se uno qualsiasi (o sottoinsieme) dei thread è in grado di rilevare condizioni che richiedono l'interruzione di tutti gli altri thread. Ciò richiederebbe anche a tutti i thread di accedere di routine a questo mutex & un thread genitore aspetta che tutti terminino prima di terminare se stessi o riavviare i thread.

    
risposta data 24.07.2012 - 16:18
fonte

Leggi altre domande sui tag