Just.Doit #4481 24 июля 2019 переформулируй вопросасинхронщина нужна когда она нужна, а когда она не нужна лучше пистать синхроннонужна когда есть требования либо по производительности (пераллельное выполнение, либо чтобы потоки не жрало), либо по асинхронности (когда отдаешь клиенту ОК, а по факту тяжелую операцию стартуешь асинхронно)ручное создание потоков - это очень низкоуровневая херня, которую если использовать для высокоуровневых тасков - пишешь свои велосипеды с кучей багов и неоптимальностей, лучше юзать всякие экзекьюторы и высокоуровневые фьючикогда мне нужно было сделать что-то асинхронно в java 8 я очень порадовался что есть статический метод, который просто ранит на дефолтном тредпуле очень крутые котейкиКому-то пизды дал - нужно сделать скрин обязательно. (с) Solo Поделиться сообщением Ссылка на сообщение
kmtw #4482 24 июля 2019 Я тупой, почему это: MainWindow *main =new MainWindow(); main->show(); this->close(); дает утечку памяти? Поделиться сообщением Ссылка на сообщение
Just.Doit #4483 24 июля 2019 это плюсы? очень крутые котейкиКому-то пизды дал - нужно сделать скрин обязательно. (с) Solo Поделиться сообщением Ссылка на сообщение
iMbanana #4484 24 июля 2019 есть тут джава галерщики в тырпрайз разработке?часто вы юзаете фьючи, комплитабл, ручное создание потоков, асинхронное выполнение кода?гавноеды на местеотвечаю:нетнетнеттут сложнее: на текущей работе у нас прожект реактортак что косвенно ответ на твой вопрос - дано это уж не голым кодом делается, а фреймворком [14:22:31] Сиэль: oh uj eti imbanani Поделиться сообщением Ссылка на сообщение
sol1tary #4486 24 июля 2019 https://stackoverflow.com/questions/22521946/qt-is-there-any-memory-leak-in-the-following-code Поделиться сообщением Ссылка на сообщение
kmtw #4487 24 июля 2019 (изменено) https://stackoverflow.com/questions/22521946/qt-is-there-any-memory-leak-in-the-following-codeЯ правильно понимаю, что новое окно создается в куче и имеет родство со старым, и старое окно не удаляется? Изменено 24 июля 2019 пользователем kmtw Поделиться сообщением Ссылка на сообщение
hira88 #4488 24 июля 2019 (изменено) Я тупой, почему это:если это QT то потому что это QTя больше года(почти 2) работал только с QT-кодом(UI в том числе), конечно мой уровень остался на уровне тупого ламера, но багов я повидал довольно много совет испольовать электрон(и аналоги) может буть бесполезным, так как у тебя уже вся прога на QTпоэтому совет переписать все на "без QT" и UI сделать какойто минималистичной либой Я правильно понимаю, что новое окно создается в куче и имеет родство со старым, и старое окно не удаляется?может это https://stackoverflow.com/questions/32252841/does-qt-applications-have-automatic-garbage-collection ?(там полный ппц с пониманием как память выделяется/очищается, чтоб это понять надо все классы QT знать) Изменено 24 июля 2019 пользователем hira88 Поделиться сообщением Ссылка на сообщение
kmtw #4489 24 июля 2019 Переписать не вариант, у меня типо работа. Проблему уже решил, просто интересно, как это работает. Ладно, пойду читать дальше, спасибо за ссылку. Поделиться сообщением Ссылка на сообщение
Index #4490 24 июля 2019 есть тут джава галерщики в тырпрайз разработке?часто вы юзаете фьючи, комплитабл, ручное создание потоков, асинхронное выполнение кода?Все во флаксах.Комплитаблы из другиг апи оборачиваем в Mono.fromFutureРеактивщина делает код конкаренси агностик ну и дает механизм там бэкпрешур раскидывания по потокам.https://www.jetbrains.com/idea/whatsnew/ HTTP client supports cURL requests kaifstelish Поделиться сообщением Ссылка на сообщение
Arzanis #4491 24 июля 2019 Я тупой, почему это: MainWindow *main =new MainWindow(); main->show(); this->close(); дает утечку памяти?Краткий ответ опытного чувака на кутях: если ты где-то вызвал new, то кто-то должен где-то вызвать deletenew выделяет память в кучепока delete не будет применен к выделенной памяти, менеджер памяти ее будет считать занятойи никому не отдаста если ты проебешь адрес, который тебе new дал, то ты проебал память считайеще чет начали затирать про смартпоинтеры. Но тут сам читай. kmtw понравилось это DB Я - гений, ёпта 22 Поделиться сообщением Ссылка на сообщение
choojoykin #4492 24 июля 2019 есть тут джава галерщики в тырпрайз разработке?часто вы юзаете фьючи, комплитабл, ручное создание потоков, асинхронное выполнение кода?Все во флаксах.Комплитаблы из другиг апи оборачиваем в Mono.fromFutureРеактивщина делает код конкаренси агностик ну и дает механизм там бэкпрешур раскидывания по потокам.https://www.jetbrains.com/idea/whatsnew/ HTTP client supports cURL requests kaifstelish а что вы пилите на всем этом ни мало ни много, а много и мало Поделиться сообщением Ссылка на сообщение
Index #4493 24 июля 2019 а что вы пилите на всем этом Вебсервисы. Микросервисы. Банальные контролер сервис даоFlux<TypeDTO> -> Flux<TypeDTO> -> Flux<TypeEntity> Скоро ещё в моду реактивные драйвера войдут. В принципе уже можно перекатываться.У нас ещё micronaut, в теории ноль рефлекшона в приложении, даже джексон через Introspection можно настроить На грани будущего стоим kaifstelish Хотя сборка конечно идет через легаси скрипты для rake zemlyapuhom Переписать бы все на gradle Поделиться сообщением Ссылка на сообщение
Kant #4494 24 июля 2019 а потом прокрутка в браузере лагает Nikki Sixx и SKYnv понравилось это Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
hira88 #4495 24 июля 2019 пока delete не будет применен к выделенной памяти, менеджер памяти ее будет считать занятой небольшая утечка памяти лучше чем краш программыdelete при многопотоке(который уже по дефолту был начиная с qt4 пять лет назад) крашит програму случайно(по очевидным причнам)и писать правильную программу на qt следуя всем рекомендациям-сложнее чем писать свой фреймворк с нуля, когда я осилил qt4 вышел уже qt5 с двумя обновлениями(на который было все переписано и на многие непонятные баги я просто забил, и заказчикам пофик)слишком много подводных камней в qt, если кратно Поделиться сообщением Ссылка на сообщение
Kant #4496 24 июля 2019 а что в кт много гуишных потоков?создавать и удалять будет один и тот же поток Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Arzanis #4497 25 июля 2019 пока delete не будет применен к выделенной памяти, менеджер памяти ее будет считать занятойнебольшая утечка памяти лучше чем краш программыdelete при многопотоке(который уже по дефолту был начиная с qt4 пять лет назад) крашит програму случайно(по очевидным причнам)и писать правильную программу на qt следуя всем рекомендациям-сложнее чем писать свой фреймворк с нуля, когда я осилил qt4 вышел уже qt5 с двумя обновлениями(на который было все переписано и на многие непонятные баги я просто забил, и заказчикам пофик)слишком много подводных камней в qt, если кратно Хз, у меня нет оснований не доверять челу, который это писал. Он в соло ебашит уже больше 5 лет коммерческое приложение, в котором и с памятью, и с крашами всё очень хорошо. DB Я - гений, ёпта 22 Поделиться сообщением Ссылка на сообщение
Ramil #4498 25 июля 2019 переформулируй вопросасинхронщина нужна когда она нужна, а когда она не нужна лучше пистать синхроннонужна когда есть требования либо по производительности (пераллельное выполнение, либо чтобы потоки не жрало), либо по асинхронности (когда отдаешь клиенту ОК, а по факту тяжелую операцию стартуешь асинхронно)ручное создание потоков - это очень низкоуровневая херня, которую если использовать для высокоуровневых тасков - пишешь свои велосипеды с кучей багов и неоптимальностей, лучше юзать всякие экзекьюторы и высокоуровневые фьючикогда мне нужно было сделать что-то асинхронно в java 8 я очень порадовался что есть статический метод, который просто ранит на дефолтном тредпуле что за метод? javascript:void(0); Поделиться сообщением Ссылка на сообщение
Pep_See #4499 25 июля 2019 (изменено) переформулируй вопросасинхронщина нужна когда она нужна, а когда она не нужна лучше пистать синхроннонужна когда есть требования либо по производительности (пераллельное выполнение, либо чтобы потоки не жрало), либо по асинхронности (когда отдаешь клиенту ОК, а по факту тяжелую операцию стартуешь асинхронно)ручное создание потоков - это очень низкоуровневая херня, которую если использовать для высокоуровневых тасков - пишешь свои велосипеды с кучей багов и неоптимальностей, лучше юзать всякие экзекьюторы и высокоуровневые фьючикогда мне нужно было сделать что-то асинхронно в java 8 я очень порадовался что есть статический метод, который просто ранит на дефолтном тредпулечто за метод?Думаю речь о методах интерфейсов Executor и ExecutorService. Они прям сильно упрощают работу с потоками благодаря тредпулу и не только. В доках к этим интерфейсам нормально написано) Изменено 25 июля 2019 пользователем Pep_See Ramil понравилось это pepehands Поделиться сообщением Ссылка на сообщение
Index #4500 25 июля 2019 Вот только средствами джавы сложно сделать ленивые асинхронные вычисления.То что на изи делается реактивщиной. А по поводу Java8, там естьCompletableFuture<Void> runAsync(Runnable runnable)и тд, для быстрого и удобного выполнения асинхронного кода. И не надо заводить экзекьютор сервисы, без лишнего тюнинга оно само пропихнет ранабл в форкджоин пул. Поделиться сообщением Ссылка на сообщение