Java中的BufferedReader
本身不会阻塞。但是,当你使用BufferedReader
读取数据时,如果数据没有准备好或者需要等待,那么程序可能会阻塞。
例如,当你从网络连接或文件读取数据时,如果数据没有准备好或者需要等待,那么BufferedReader.read()
方法会阻塞,直到数据准备好为止。同样,当你使用BufferedReader.readLine()
方法读取一行数据时,如果还没有换行符,那么该方法也会阻塞,直到遇到换行符为止。
为了避免阻塞,你可以使用多线程或者异步I/O。例如,你可以创建一个单独的线程来执行读取操作,然后在主线程中处理读取到的数据。这样,即使读取操作需要等待,主线程也可以继续执行其他任务。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:JavaBufferedReader能读取多种编码吗