powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / потоки и файловая система
7 сообщений из 7, страница 1 из 1
потоки и файловая система
    #39016229
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
                            synchronized (this) {
                                Path parent = FileSystems.getDefault().getPath(filePath).getParent();
                                if (parent != null) {
                                    String dir = parent.toString();
                                    File folder = new File(dir);
                                    if (!folder.exists()) {
                                        if (!folder.mkdirs()) {
                                            log("Error to create folder " + dir + ". Maybe need to run from Admin?");
                                        }
                                    }
                                }
                            }


в лог пишет ошибку что не может создать, по факту все создает (видимо какой-то поток создает, а другой потом тоже пытается это сделать и не получается у него)
проблема именно когда много потоков, синхронизация не помогает, так понимаю какой-то кэш используется, как победить?
...
Рейтинг: 0 / 0
потоки и файловая система
    #39016239
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в чем? В том, что файл создается или в том, что приложение ругается?
...
Рейтинг: 0 / 0
потоки и файловая система
    #39016240
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или получается, что в один и тот же момент несколько потоков пытаются создать один и тот же файл?
...
Рейтинг: 0 / 0
потоки и файловая система
    #39016251
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае проблема в том, что приложение ругается ложно
...
Рейтинг: 0 / 0
потоки и файловая система
    #39016252
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, там поди this в контексте программы это порождённый поток, а не мейн, как я рассчитывал. Щас не у компьютера
...
Рейтинг: 0 / 0
потоки и файловая система
    #39016279
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettДелаю так:
в лог пишет ошибку что не может создать, по факту все создает (видимо какой-то поток создает, а другой потом тоже пытается это сделать и не получается у него)
проблема именно когда много потоков, синхронизация не помогает, так понимаю какой-то кэш используется, как победить?

Быстро, легко и не правильно - выделить работу с файлом в Singleton.
...
Рейтинг: 0 / 0
потоки и файловая система
    #39017114
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

Зачем проверка parent на null? Возьмите filePath равным d:/my/me/his.txt и будьте уверены, что ваш parent не будет null. И проще Path p = Paths.get(filePath). И уверены ли Вы, что дирректории создаются только вашим кодом? Может другой поток создает такой же dir безо всякой синхронизации.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / потоки и файловая система
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]