在Java中,阻塞和非阻塞主要是指對于線程在執行IO操作時的行為:
阻塞:當線程執行IO操作時,如果IO操作沒有完成,線程會被暫停,直到IO操作完成才會繼續執行。在這期間,線程無法執行其他任務,處于阻塞狀態。
非阻塞:當線程執行IO操作時,如果IO操作沒有完成,線程不會被暫停,而是會繼續執行其他任務。線程會定期輪詢IO操作是否完成,以此來保證程序的正常運行。在這種情況下,線程不會被阻塞,可以繼續執行其他任務。
總的來說,阻塞是指線程在執行IO操作時會被暫停等待IO操作完成,而非阻塞是指線程在執行IO操作時不會被暫停,而是可以繼續執行其他任務。