У меня есть файл 250 Мб для чтения.И приложение является многопоточным.Если я разрешаю всем потокам читать файл, происходит голодание памяти.Я получаю из памяти ошибку.
Чтобы избежать этого.Я хочу, чтобы в памяти была только одна копия строки (которая читается из потока), и я хочу, чтобы все потоки ее использовали.
while (true) {
synchronized (buffer) {
num = is.read(buffer);
String str = new String(buffer, 0, num);
}
sendToPC(str);
}
По сути, я хочу иметь только одну копию строки, когда всепоток завершил отправку, я хочу прочитать вторую строку и т. д.