繼續一下源碼的走讀啊, 最近看了點別的源代碼,發現自己好像一個不會寫代碼的孩子一樣。。。。總覺得自己差了一點什么,但是又說不上來, 只能繼續努力了。
繼續上一個部分,
start方法
里面有個eventLoop, 估計是監聽一堆事件的, command+B ,看下JobSchedulerEvent有什么類型
Event類型
eventLoop內部
看到這里的第一反應是, 里面是用隊列來做的,而且長度沒限制, 當然也沒法限制, 要是隊列滿了怎么辦,是寫到硬盤里嗎,還是有別的方法?
看了一眼注釋,
隊列長度說明
扎心了,老鐵。。。
process邏輯
代碼還是挺清楚的,
兩個部件
什么listener的邏輯就不看了,里面太繞, 看著鬧心,看下重要的兩個,
start
里面的receive方法
receive方法
里面的邏輯就不細看了, 就看兩點吧, 一, 有多少個inputstream就有多少個receiver, 二呢,所有的receiver都在相應的executor上。
后面receiver的內容明天繼續。