在Java中,阻塞和非阻塞主要是指对于线程在执行IO操作时的行为:
阻塞:当线程执行IO操作时,如果IO操作没有完成,线程会被暂停,直到IO操作完成才会继续执行。在这期间,线程无法执行其他任务,处于阻塞状态。
非阻塞:当线程执行IO操作时,如果IO操作没有完成,线程不会被暂停,而是会继续执行其他任务。线程会定期轮询IO操作是否完成,以此来保证程序的正常运行。在这种情况下,线程不会被阻塞,可以继续执行其他任务。
总的来说,阻塞是指线程在执行IO操作时会被暂停等待IO操作完成,而非阻塞是指线程在执行IO操作时不会被暂停,而是可以继续执行其他任务。