一、對於阻塞模式下,調用connect()進行鏈接操做時,會一直阻塞到鏈接創建完成(無鏈接異常的狀況下)。因此能夠不用finishConnect來確認。blog
二、但在非阻塞模式下,connect()操做是調用後直接返回結果的,有多是true(如本地鏈接),也多是false(在部分狀況下是false)。因此爲了肯定後續IO操做正常進行需等待鏈接的創建,這時finishConnect的做用就出來了。能夠阻塞到鏈接創建好。io
另外,Channel的鏈接操做,須要先進行connect()後才能調finishConnect,若是直接調用finishConnect會出現NoConnectionPendingException異常。這個須要注意下。im