Angenommen, zwei Threads versuchen gleichzeitig, jeweils N Tensoren in eine Instanz einer FIFOQueue einzuordnen. Sie rufen beispielsweiseIst Tensorflow QueueBase.enqueue_many Reihenfolge über Threads beibehalten?
queue_instance.enqueue_many(T)
an, wobei T
eine Liste von Tensoren der Länge N
ist.
Lassen Sie uns jeden Tensor vom ersten Thread als T1_1
bis T1_N
und T2_1
bis T2_N
für den zweiten Thread beschriften. Wenn alles gesagt und getan ist (beide Aufrufe an enqueue_many
wurden abgeschlossen), wird die Reihenfolge beibehalten? Das heißt, enthält die Warteschlange entweder [T1_1, ..., T1_N, T2_1, ..., T2_N]
oder [T2_1, ..., T2_N, T1_1, ..., T1_N]
? Oder könnten die Tensoren verschachtelt eingereiht werden, d. H. [T2_1, T2_2, T1_1, T2_3, T1_2, ...]
? Oder, ich nehme an, eine dritte Option ist, dass es überhaupt keinen Reim oder Grund gibt: Die Tensoren werden in einer willkürlichen Reihenfolge eingereiht.