* = loopbased /**************************************************************************************/ * 1 bin **************************************************************************************/ 1) [-bin-------------------------------] ! [--------] [--------] ! ! !faksesrc! !fakesink! ! ! ! src -------- sink ! ! ! [--------] [--------] ! [-----------------------------------] fakesrc ! fakesink 2) [-bin-----------------------------------------------] ! [--------] [--------] [--------] ! ! !faksesrc! !identity! !fakesink! ! ! ! src --- sink src ----- sink ! ! ! [--------] [--------] [--------] ! [---------------------------------------------------] fakesrc ! identity ! fakesink 3) [-bin-----------------------------------------------] ! [--------] [--------] [--------] ! ! !faksesrc! !identity! !fakesink! ! ! ! src --- sink * src ----- sink ! ! ! [--------] [--------] [--------] ! [---------------------------------------------------] fakesrc ! @identity ! fakesink 4) [-bin--------------------------------------------------------------] ! [--------] [--------] [--------] [--------] ! ! !faksesrc! !identity! !identity! !fakesink! ! ! ! src --- sink src -- sink src -- sink ! ! ! [--------] [--------] [--------] [--------] ! [------------------------------------------------------------------] fakesrc ! identity ! identity ! fakesink 4b) [-bin--------------------------------------------------------------] ! [--------] [--------] [--------] [--------] ! ! !faksesrc! !identity! !identity! !fakesink! ! ! ! src --- sink * src -- sink src -- sink ! ! ! [--------] [--------] [--------] [--------] ! [------------------------------------------------------------------] fakesrc ! @identity ! identity ! fakesink 5) [------------------------------------------------------------------] ! [--------] [--------] [--------] [--------] ! ! !faksesrc! !identity! !identity! !fakesink! ! ! ! src --- sink src -- sink * src -- sink ! ! ! [--------] [--------] [--------] [--------] ! [------------------------------------------------------------------] fakesrc ! identity ! @identity ! fakesink 5b) [------------------------------------------------------------------] ! [--------] [--------] [--------] [--------] ! ! !faksesrc! !identity! !identity! !fakesink! ! ! ! src --- sink * src -- sink * src -- sink ! ! ! [--------] [--------] [--------] [--------] ! [------------------------------------------------------------------] fakesrc ! @identity ! @identity ! fakesink /**************************************************************************************/ * bin-in-bin based **************************************************************************************/ 6) [-bin-----------------------------------] [ [-bin-------------------------------] ] [ ! [--------] [--------] ! ] [ ! !faksesrc! !fakesink! ! ] [ ! ! src -------- sink ! ! ] [ ! [--------] [--------] ! ] [ [-----------------------------------] ] [---------------------------------------] (fakesrc ! fakesink) 7) [-bin-----------------------------------] [ [-bin----------] ] [ ! [--------] ] [--------] ] [ ! !faksesrc! ] !fakesink! ] [ ! ! src -------- sink ! ] [ ! [--------] ] [--------] ] [ [--------------] ] [---------------------------------------] (fakesrc) ! fakesink 8) [-bin-----------------------------------] [ [-bin-------------] ] [ [--------] [ [--------] ! ] [ !faksesrc! [ !fakesink! ! ] [ ! src -------- sink ! ! ] [ [--------] [ [--------] ! ] [ [-----------------] ] [---------------------------------------] fakesrc ! (fakesink) 9) [-bin---------------------------------------------------] [ [-bin-------------] ! [ [--------] [--------] ! [--------] ! ! [ !faksesrc! !identity! ! !fakesink! ! ! [ ! src --- sink src ----- sink ! ! ! [ [--------] [--------] ! [--------] ! ! [ [-----------------] ! [-------------------------------------------------------] fakesrc ! identity ! (fakesink) 10) [-bin---------------------------------------------------] [ [-bin-------------] ! [ [--------] [--------] ! [--------] ! ! [ !faksesrc! !identity! ! !fakesink! ! ! [ ! src --- sink * src ----- sink ! ! ! [ [--------] [--------] ! [--------] ! ! [ [-----------------] ! [-------------------------------------------------------] fakesrc ! @identity ! (fakesink) 11) [-bin---------------------------------------------------] [ [-bin--------------------------------] ! [ [--------] ! [--------] [--------] ! ! [ !faksesrc! ! !identity! !fakesink! ! ! [ ! src --- sink src ----- sink ! ! ! [ [--------] ! [--------] [--------] ! ! [ [------------------------------------] ! [-------------------------------------------------------] fakesrc ! (identity ! fakesink) 12) [-bin---------------------------------------------------] [ [-bin--------------------------------] ! [ [--------] ! [--------] [--------] ! ! [ !faksesrc! ! !identity! !fakesink! ! ! [ ! src --- sink * src ----- sink ! ! ! [ [--------] ! [--------] [--------] ! ! [ [------------------------------------] ! [-------------------------------------------------------] fakesrc ! (@identity ! fakesink) 13) [-bin---------------------------------------------------] [ [-bin-----------------------------] ! [ [ [--------] [--------] ! [--------] ! [ [ !faksesrc! !identity! ! !fakesink! ! [ [ ! src --- sink src ----- sink ! ! [ [ [--------] [--------] ! [--------] ! [ [---------------------------------] ! [-------------------------------------------------------] (fakesrc ! identity) ! fakesink 14) [-bin---------------------------------------------------] ! [-bin-----------------------------] ! ! ! [--------] [--------] ! [--------] ! ! ! !faksesrc! !identity! ! !fakesink! ! ! ! ! src --- sink * src ----- sink ! ! ! ! [--------] [--------] ! [--------] ! ! [---------------------------------] ! [-------------------------------------------------------] (fakesrc ! @identity) ! fakesink 15) [-bin----------------------------------------------------------------] ! [-bin-----------------------------] ! ! ! [--------] [--------] ! [--------] [--------] ! ! ! !faksesrc! !identity! ! !identity! !fakesink! ! ! ! ! src --- sink src -- sink src -- sink ! ! ! ! [--------] [--------] ! [--------] [--------] ! ! [---------------------------------] ! [--------------------------------------------------------------------] (fakesrc ! identity) ! identity ! fakesink 16) [-bin----------------------------------------------------------------] ! [-bin----------------------------] ! ! [--------] [--------] ! [--------] [--------] ! ! ! !faksesrc! !identity! ! !identity! !fakesink! ! ! ! ! src --- sink src -- sink src -- sink ! ! ! ! [--------] [--------] ! [--------] [--------] ! ! ! [--------------------------------] ! [--------------------------------------------------------------------] fakesrc ! identity ! (identity ! fakesink) 17) [-bin----------------------------------------------------------------] ! [-bin----------------------------] ! ! [--------] [--------] ! [--------] [--------] ! ! ! !faksesrc! !identity! ! !identity! !fakesink! ! ! ! ! src --- sink src -- sink * src -- sink ! ! ! ! [--------] [--------] ! [--------] [--------] ! ! ! [--------------------------------] ! [--------------------------------------------------------------------] fakesrc ! identity ! (@identity ! fakesink) 18) [-bin----------------------------------------------------------------] ! [-bin----------------------------] ! ! [--------] [--------] ! [--------] [--------] ! ! ! !faksesrc! !identity! ! !identity! !fakesink! ! ! ! ! src --- sink * src -- sink * src -- sink ! ! ! ! [--------] [--------] ! [--------] [--------] ! ! ! [--------------------------------] ! [--------------------------------------------------------------------] fakesrc ! @identity ! @identity ! fakesink 19) [-bin----------------------------------------------------------------] ! [-bin-----------------------------] ! ! ! [--------] [--------] ! [--------] [--------] ! ! ! !faksesrc! !identity! ! !identity! !fakesink! ! ! ! ! src --- sink * src -- sink src -- sink ! ! ! ! [--------] [--------] ! [--------] [--------] ! ! [---------------------------------] ! [--------------------------------------------------------------------] (fakesrc ! @identity) ! identity ! fakesink 20) [-bin----------------------------------------------------------------] ! [-bin-----------------------------] ! ! ! [--------] [--------] ! [--------] [--------] ! ! ! !faksesrc! !identity! ! !identity! !fakesink! ! ! ! ! src --- sink src -- sink * src -- sink ! ! ! ! [--------] [--------] ! [--------] [--------] ! ! [---------------------------------] ! [--------------------------------------------------------------------] (fakesrc ! identity) ! @identity ! fakesink 21) [-bin----------------------------------------------------------------] ! [-bin-----------------------------] ! ! ! [--------] [--------] ! [--------] [--------] ! ! ! !faksesrc! !identity! ! !identity! !fakesink! ! ! ! ! src --- sink * src -- sink * src -- sink ! ! ! ! [--------] [--------] ! [--------] [--------] ! ! [---------------------------------] ! [--------------------------------------------------------------------] (fakesrc ! @identity) ! @identity ! fakesink 22) [-bin--------------------------------------------------------------------] ! [-bin----------------------------] [-bin-----------------------------] ! ! ! [--------] [--------] ! ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! ! !identity! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink ! ! ! ! ! [--------] [--------] ! ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [------------------------------------------------------------------------] (fakesrc ! identity) ! (identity ! fakesink) 23) [-bin--------------------------------------------------------------------] ! [-bin----------------------------] [-bin-----------------------------] ! ! ! [--------] [--------] ! ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! ! !identity! !fakesink! ! ! ! ! ! src --- sink src --- sink * src -- sink ! ! ! ! ! [--------] [--------] ! ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [------------------------------------------------------------------------] (fakesrc ! identity) ! (@identity ! fakesink) 24) [-bin--------------------------------------------------------------------] ! [-bin----------------------------] [-bin-----------------------------] ! ! ! [--------] [--------] ! ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! ! !identity! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink ! ! ! ! ! [--------] [--------] ! ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [------------------------------------------------------------------------] (fakesrc ! @identity) ! (identity ! fakesink) 25) [-bin--------------------------------------------------------------------] ! [-bin----------------------------] [-bin-----------------------------] ! ! ! [--------] [--------] ! ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! ! !identity! !fakesink! ! ! ! ! ! src --- sink * src --- sink * src -- sink ! ! ! ! ! [--------] [--------] ! ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [------------------------------------------------------------------------] (fakesrc ! @identity) ! (@identity ! fakesink) /**************************************************************************************/ * threads **************************************************************************************/ 26) [-bin-----------------------------------] [ [-thread----------------------------] ] [ ! [--------] [--------] ! ] [ ! !faksesrc! !fakesink! ! ] [ ! ! src -------- sink ! ! ] [ ! [--------] [--------] ! ] [ [-----------------------------------] ] [---------------------------------------] [fakesrc ! fakesink] 27) [-thread--------------------------------] [ [-bin-------------------------------] ] [ ! [--------] [--------] ! ] [ ! !faksesrc! !fakesink! ! ] [ ! ! src -------- sink ! ! ] [ ! [--------] [--------] ! ] [ [-----------------------------------] ] [---------------------------------------] 28) [-bin--------------------------------------------] [ [-thread-------] ] [ ! [--------] ] [-----] [--------] ] [ ! !faksesrc! ] !queue! !fakesink! ] [ ! ! src --- sink src -- sink ! ] [ ! [--------] ] [-----] [--------] ] [ [--------------] ] [------------------------------------------------] 29) [-bin--------------------------------------------] [ [-thread--------] ] [ [--------] [-----] [ [--------] ! ] [ !faksesrc! !queue! [ !fakesink! ! ] [ ! src -- sink src --- sink ! ! ] [ [--------] [-----] [ [--------] ! ] [ [---------------] ] [------------------------------------------------] 30) [-bin---------------------------------------------------------------] [ [-thread--------] ! [ [--------] [--------] [-----] ! [--------] ! ! [ !faksesrc! !identity! !queue! ! !fakesink! ! ! [ ! src --- sink src -- sink src --- sink ! ! ! [ [--------] [--------] [-----] ! [--------] ! ! [ [---------------] ! [-------------------------------------------------------------------] 31) [-bin---------------------------------------------------------------] [ [-thread--------] ! [ [--------] [--------] [-----] ! [--------] ! ! [ !faksesrc! !identity! !queue! ! !fakesink! ! ! [ ! src --- sink * src -- sink src --- sink ! ! ! [ [--------] [--------] [-----] ! [--------] ! ! [ [---------------] ! [-------------------------------------------------------------------] 32) [-bin------------------------------------------------------------------] [ [-thread-----------------------------] ! [ [--------] [-----] ! [--------] [--------] ! ! [ !faksesrc! !queue! ! !identity! !fakesink! ! ! [ ! src --- sink src --- sink src ----- sink ! ! ! [ [--------] [-----] ! [--------] [--------] ! ! [ [------------------------------------] ! [----------------------------------------------------------------------] 33) [-bin------------------------------------------------------------------] [ [-thread-----------------------------] ! [ [--------] [-----] ! [--------] [--------] ! ! [ !faksesrc! !queue! ! !identity! !fakesink! ! ! [ ! src --- sink src --- sink * src ----- sink ! ! ! [ [--------] [-----] ! [--------] [--------] ! ! [ [------------------------------------] ! [----------------------------------------------------------------------] 34) [-bin---------------------------------------------------------------] [ [-thread--------------------------] ! [ [ [--------] [--------] ! [-----] [--------] ! [ [ !faksesrc! !identity! ! !queue! !fakesink! ! [ [ ! src --- sink src --- sink src -- sink ! ! [ [ [--------] [--------] ! [-----] [--------] ! [ [---------------------------------] ! [-------------------------------------------------------------------] 35) [-bin---------------------------------------------------------------] [ [-thread--------------------------] ! [ [ [--------] [--------] ! [-----] [--------] ! [ [ !faksesrc! !identity! ! !queue! !fakesink! ! [ [ ! src --- sink * src --- sink src -- sink ! ! [ [ [--------] [--------] ! [-----] [--------] ! [ [---------------------------------] ! [-------------------------------------------------------------------] 36) [-bin------------------------------------------------------------------------------] ! [-thread--------------------------] ! ! ! [--------] [--------] ! [-----] [--------] [--------] ! ! ! !faksesrc! !identity! ! !queue! !identity! !fakesink! ! ! ! ! src --- sink src -- sink src -- sink src -- sink ! ! ! ! [--------] [--------] ! [-----] [--------] [--------] ! ! [---------------------------------] ! [----------------------------------------------------------------------------------] 37) [-bin------------------------------------------------------------------------------] ! [-thread--------------------------] ! ! ! [--------] [--------] ! [-----] [--------] [--------] ! ! ! !faksesrc! !identity! ! !queue! !identity! !fakesink! ! ! ! ! src --- sink * src -- sink src -- sink src -- sink ! ! ! ! [--------] [--------] ! [-----] [--------] [--------] ! ! [---------------------------------] ! [----------------------------------------------------------------------------------] 38) [-bin------------------------------------------------------------------------------] ! [-thread--------------------------] ! ! ! [--------] [--------] ! [-----] [--------] [--------] ! ! ! !faksesrc! !identity! ! !queue! !identity! !fakesink! ! ! ! ! src --- sink src -- sink src -- sink * src -- sink ! ! ! ! [--------] [--------] ! [-----] [--------] [--------] ! ! [---------------------------------] ! [----------------------------------------------------------------------------------] 39) [-bin------------------------------------------------------------------------------] ! [-thread--------------------------] ! ! ! [--------] [--------] ! [-----] [--------] [--------] ! ! ! !faksesrc! !identity! ! !queue! !identity! !fakesink! ! ! ! ! src --- sink * src -- sink src -- sink * src -- sink ! ! ! ! [--------] [--------] ! [-----] [--------] [--------] ! ! [---------------------------------] ! [----------------------------------------------------------------------------------] 40) [-bin------------------------------------------------------------------------------] ! [-thread-------------------------] ! ! [--------] [--------] [-----] ! [--------] [--------] ! ! ! !faksesrc! !identity! !queue! ! !identity! !fakesink! ! ! ! ! src --- sink src -- sink src -- sink src -- sink ! ! ! ! [--------] [--------] [-----] ! [--------] [--------] ! ! ! [--------------------------------] ! [----------------------------------------------------------------------------------] 41) [-bin-------------------------------------------------------------------------------] ! [-thread--------------------------] ! ! [--------] [--------] [-----] ! [--------] [--------] ! ! ! !faksesrc! !identity! !queue! ! !identity! !fakesink! ! ! ! ! src --- sink src -- sink src -- sink * src -- sink ! ! ! ! [--------] [--------] [-----] ! [--------] [--------] ! ! ! [--------------------------------] ! [-----------------------------------------------------------------------------------] 42) [-bin------------------------------------------------------------------------------] ! [-thread-------------------------] ! ! [--------] [--------] [-----] ! [--------] [--------] ! ! ! !faksesrc! !identity! !queue! ! !identity! !fakesink! ! ! ! ! src --- sink * src -- sink src -- sink src -- sink ! ! ! ! [--------] [--------] [-----] ! [--------] [--------] ! ! ! [--------------------------------] ! [----------------------------------------------------------------------------------] 43) [-bin------------------------------------------------------------------------------] ! [-thread-------------------------] ! ! [--------] [--------] [-----] ! [--------] [--------] ! ! ! !faksesrc! !identity! !queue! ! !identity! !fakesink! ! ! ! ! src --- sink * src -- sink src -- sink * src -- sink ! ! ! ! [--------] [--------] [-----] ! [--------] [--------] ! ! ! [--------------------------------] ! [----------------------------------------------------------------------------------] /********************************************************************************** * two threads in bin **********************************************************************************/ 44) [-bin---------------------------------------------------------------------------------] ! [-thread-------------------------] [-thread--------------------------] ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [-------------------------------------------------------------------------------------] 45) [-bin---------------------------------------------------------------------------------] ! [-thread-------------------------] [-thread--------------------------] ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [-------------------------------------------------------------------------------------] 46) [-bin---------------------------------------------------------------------------------] ! [-thread-------------------------] [-thread--------------------------] ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink * src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [-------------------------------------------------------------------------------------] 47) [-bin---------------------------------------------------------------------------------] ! [-thread-------------------------] [-thread--------------------------] ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink * src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [-------------------------------------------------------------------------------------] 48) [-bin---------------------------------------------------------------] ! [-thread-------] [-thread--------------------------] ! ! ! [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink src -- sink src -- sink ! ! ! ! ! [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------] [---------------------------------] ! [-------------------------------------------------------------------] 49) [-bin---------------------------------------------------------------] ! [-thread-------] [-thread--------------------------] ! ! ! [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink src -- sink * src -- sink ! ! ! ! ! [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------] [---------------------------------] ! [-------------------------------------------------------------------] 50) [-bin----------------------------------------------------------------] ! [-thread-------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------] 51) [-bin----------------------------------------------------------------] ! [-thread-------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------] 52) [-bin----------------------------------------------] ! [-thread-------] [-thread---------] ! ! ! [--------] ! [-----] ! [--------] ! ! ! ! !faksesrc! ! !queue! ! !fakesink! ! ! ! ! ! src --- sink src -- sink ! ! ! ! ! [--------] ! [-----] ! [--------] ! ! ! [--------------] [----------------] ! [--------------------------------------------------] 52b) [-bin----------------------------------------------------------------------------------------------] ! [-thread-------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------] 52c) [-bin----------------------------------------------------------------------------------------------] ! [-thread-------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------] 52d) [-bin----------------------------------------------------------------------------------------------] ! [-thread-------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink * src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------] 52e) [-bin----------------------------------------------------------------------------------------------] ! [-thread-------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink * src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------] /********************************************************************************** * thread-bin in bin **********************************************************************************/ /** thread first ******/ 53) [-bin---------------------------------------------------------------------------------] ! [-thread-------------------------] [-bin-----------------------------] ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [-------------------------------------------------------------------------------------] 54) [-bin---------------------------------------------------------------------------------] ! [-thread-------------------------] [-bin-----------------------------] ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [-------------------------------------------------------------------------------------] 55) [-bin---------------------------------------------------------------------------------] ! [-thread-------------------------] [-bin-----------------------------] ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink * src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [-------------------------------------------------------------------------------------] 56) [-bin---------------------------------------------------------------------------------] ! [-thread-------------------------] [-bin-----------------------------] ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink * src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [-------------------------------------------------------------------------------------] 57) [-bin----------------------------------------------] ! [-thread-------] [-bin------------] ! ! ! [--------] ! [-----] ! [--------] ! ! ! ! !faksesrc! ! !queue! ! !fakesink! ! ! ! ! ! src --- sink src -- sink ! ! ! ! ! [--------] ! [-----] ! [--------] ! ! ! [--------------] [----------------] ! [--------------------------------------------------] 58) [-bin---------------------------------------------------------------] ! [-thread-------] [-bin-----------------------------] ! ! ! [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink src -- sink src -- sink ! ! ! ! ! [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------] [---------------------------------] ! [-------------------------------------------------------------------] 59) [-bin---------------------------------------------------------------] ! [-thread-------] [-bin-----------------------------] ! ! ! [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink src -- sink * src -- sink ! ! ! ! ! [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------] [---------------------------------] ! [-------------------------------------------------------------------] 60) [-bin----------------------------------------------------------------] ! [-thread-------------------------] [-bin------------] ! ! ! [--------] [--------] ! [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------] 61) [-bin----------------------------------------------------------------] ! [-thread-------------------------] [-bin------------] ! ! ! [--------] [--------] ! [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------] /* non blocking queue ? */ 61a) [-bin----------------------------------------------------------------------------------------------] ! [-thread-------------------------] [-bin------------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------] 61b) [-bin----------------------------------------------------------------------------------------------] ! [-thread-------------------------] [-bin------------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------] 61c) [-bin----------------------------------------------------------------------------------------------] ! [-thread-------------------------] [-bin------------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink * src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------] 61d) [-bin----------------------------------------------------------------------------------------------] ! [-thread-------------------------] [-bin------------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink * src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------] /** bin first ******/ 62) [-bin---------------------------------------------------------------------------------] ! [-bin----------------------------] [-thread--------------------------] ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [-------------------------------------------------------------------------------------] 63) [-bin---------------------------------------------------------------------------------] ! [-bin----------------------------] [-thread--------------------------] ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [-------------------------------------------------------------------------------------] 64) [-bin---------------------------------------------------------------------------------] ! [-bin----------------------------] [-thread--------------------------] ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink * src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [-------------------------------------------------------------------------------------] 65) [-bin---------------------------------------------------------------------------------] ! [-bin----------------------------] [-thread--------------------------] ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink * src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------------------------] [---------------------------------] ! [-------------------------------------------------------------------------------------] 66) [-bin----------------------------------------------] ! [-bin----------] [-thread---------] ! ! ! [--------] ! [-----] ! [--------] ! ! ! ! !faksesrc! ! !queue! ! !fakesink! ! ! ! ! ! src --- sink src -- sink ! ! ! ! ! [--------] ! [-----] ! [--------] ! ! ! [--------------] [----------------] ! [--------------------------------------------------] 67) [-bin---------------------------------------------------------------] ! [-bin----------] [-thread--------------------------] ! ! ! [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink src -- sink src -- sink ! ! ! ! ! [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------] [---------------------------------] ! [-------------------------------------------------------------------] 68) [-bin---------------------------------------------------------------] ! [-bin----------] [-thread--------------------------] ! ! ! [--------] ! [-----] ! [--------] [--------] ! ! ! ! !faksesrc! ! !queue! ! !identity! !fakesink! ! ! ! ! ! src --- sink src -- sink * src -- sink ! ! ! ! ! [--------] ! [-----] ! [--------] [--------] ! ! ! [--------------] [---------------------------------] ! [-------------------------------------------------------------------] 69) [-bin----------------------------------------------------------------] ! [-bin----------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------] 70) [-bin----------------------------------------------------------------] ! [-bin----------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! ! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------] 71) [-bin----------------------------------------------------------------------------------------------] ! [-bin----------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------] 72) [-bin----------------------------------------------------------------------------------------------] ! [-bin----------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------] 73) [-bin----------------------------------------------------------------------------------------------] ! [-bin----------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink src --- sink src -- sink * src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------] 74) [-bin----------------------------------------------------------------------------------------------] ! [-bin----------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink * src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------] 75) [-bin----------------------------------------------------------------------------------------------] ! [-bin----------------------------] [-thread---------] ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! ! !faksesrc! !identity! ! !queue! !identity! !queue! ! !fakesink! ! ! ! ! ! src --- sink * src --- sink src -- sink * src -- sink src -- sink ! ! ! ! ! [--------] [--------] ! [-----] [--------] [-----] ! [--------] ! ! ! [--------------------------------] [----------------] ! [--------------------------------------------------------------------------------------------------]