交替控制器<Interleave Controller>
業務邏輯:
根據被控制器觸發執行次數,去依次執行控制器下的子節點<邏輯控制器、采樣器>。
被觸發執行可以由線程組的線程數、循環次數、邏輯控制器觸發。
Ignore sub-controller blocks:忽略子控制器
勾選后,會無視節點下的所有控制器<交替控制器、隨機控制器例外>,將每個取樣器作為一個單獨字節點執行
不勾選忽略子控制器,交替執行時,節點下次一級每個取樣器、邏輯控制器都認為是一個單獨子節點來交替執行。
Interleave across threads:
允許跨線程交替執行,勾選后,當線程組線程數大於1時,當前線程首次執行會根據線程數順序進行交替,后續執行按自己所屬線程的上一個次的執行的位置交替
如: 交替控制器下由A B C D E 5個接口, 設置線程組 線程數3個,循環4次,則最終執行結果為 線程1執行 A B C D 線程2執行 B C D E 線程3執行 C D E A
如果勾選忽略子控制器,線程組循環多次時,第二次交替到僅一次控制器,會報 棧溢出錯誤,在4.X、5.X都會報錯,可能是個Bug!!!
演示腳本: Demo_交替控制器