1
私がやっているなめらかに動作しないの内側のループ次。Groovyの/ SOAPUI:のようにスレッドが
しかし、私はほとんども、通常10のログ、代わりに私が実際に数Nを持つREST要求をトリガする予定log.infoのすべてがSOAPUIグルーヴィーなスクリプトステップ内で行われる8
を取得しない
これらのスレッドで何が問題になっていますか?
オーケー
UPD、テスト(と1つのアレイを使用しないよう)するために、このような愚かななめらかでした:
def array1 = all[0..5]
def array2 = all[6..11]
Thread.start{
for(String r: array1) {
log.info r
}
}
Thread.start{
for(String r: array2) {
log.info r
}
}
そして今、私はほとんどまったくまたは1つのログには何も出力を持っていません、私は12を期待しています。 同時にデータを出力するスレッドを作成するにはどうすればよいですか?
EVEN MORE
def threadCount=10
(0..threadCount).each { n ->
Thread.start {
(1..10).each {
log.info "thread"+n+" says| "+it
}
}
}
出力は次のとおりです。
thread0 says| 1
thread3 says| 1
thread8 says| 1
thread2 says| 1
thread1 says| 1
thread9 says| 1
thread7 says| 1
thread5 says| 1
thread4 says| 1
thread0 says| 2
そして、何よりも。もう一度、私やグルーヴィーに何が間違っていますか?
に
sleep
を追加することです。したがって、出力は予測できません。 – Madhusudhanスレッドセーフの問題が発生しました。関連する質問は次のとおりです。http://stackoverflow.com/questions/5847939/is-list-iterator-thread-safe – Danilo
更新については、期待通りに出力を見るために配列を正しく定義してください:def array1 = 0。 .5。 forループではIntegerを使うべきですが、Stringも同様に動作します。 – Danilo