è possibile ottenere il thread corrente con +[NSThread currentThread]
. Che potrebbe avere una proprietà name
, ma se non ne hai impostato uno non fare affidamento su di esso.
Le code sono più complicate perché ci sono diversi significati di "coda". Una coda potrebbe essere essere un NSOperationQueue
, ed è possibile afferrare il suo name
da +[NSOperationQueue currentQueue]
(di nuovo, assumendo si imposta).
Quindi ci sono code di invio. È possibile ottenere la coda corrente con dispatch_get_current_queue()
, ma si tenga presente che questa funzione avrà esito positivo anche se chiamata da codice non associato a una coda (!). In questo caso restituisce la coda di sfondo predefinita Le code sono etichettate, quindi puoi chiamare dispatch_queue_get_label()
e se hai creato la coda con un'etichetta, la riceverai.
Quindi, in pratica, è possibile ottenere la coda o il thread, a condizione che il codice all abbia una coda di invio associata anche se non è un codice inviato. Di solito puoi anche ottenere nomi significativi per questi thread e code, il che è utile per il debug: ma è tua responsabilità chiamarli.
fonte
2013-05-20 10:55:26
'[NSThread currentThread]', come visto [qui] (http://stackoverflow.com/a/1616737/1971013). –
http://stackoverflow.com/a/5166740/1407017 e http://stackoverflow.com/a/1542071/1407017 – Amar
Questo può aiutare: http://stackoverflow.com/a/30019141/1138755 – cromandini