λ =3;
μ =5;

t = 0;   (* 時間の推移 *)
ta = 0; (* 到着時刻 *)
nq = 0; (* 待ち人数 *)
L={}; 
While[t <10,(* 100分になるまで *)
(nqprev = nq;
If[nq==0,
(t=ta; 
nq=1;
ta+=-1/λ*Log[1-RandomReal[]]; (* 次のお客さんの到着時刻 *)
ts=t- 1/μ*Log[1-RandomReal[]]; (* ts: サービス時間 *)
 Print["← t = ",t," お客さん到着．サービス終了時刻 = ",ts];),

If[ta<=ts,    (* 次のお客さんの到着時刻がサービス終了時刻より早ければ *)
(If[ta!=ts,nq+=1];
t=ta;Print["← t = ",t," お客さん到着"];
ta+=-1/λ*Log[1-RandomReal[]];),(* 次のお客さんの到着時刻 *)
(*If[ ta>ts,*)
(nq-= 1; (* 次のお客さんの到着時刻よりまえにサービスが終了すれば *)
t=ts;　
ts+=- 1/μ*Log[1-RandomReal[]];    (* 次のサービス終了時刻 *)
If[nq==0,
Print["    → t = ",t," お客さん退出．待ち人数 = ",nq],
Print["    → t = ",t," お客さん退出．次のサービス終了時刻 = ",ts]];)(*]*)]
];
L = Append[L,{t,nqprev}];
L = Append[L,{t,nq}];)
]
ListLinePlot[L,InterpolationOrder->1,Filling->Axis]

L