TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #583 · 3.10

Пару недель назад в один день презентовали сразу две новые модели экшен-камер от разных производителей: DJI Action 3 и GoPro Hero 11. Технически даже три, потому что у GoPro есть версия Mini, о ней чуть ниже. Вообще говоря, DJI умеют исправлять косяки конкурентов в UI/UX, и в целом владеют этим направлением очень хорошо, на уровне Apple времён первых айфонов. Например, GoPro с первых версий сделали крепление винтом через два ушка, и оно уже приобрело огромную популярность, поэтому все остальные делают такое же. Да и сами GoPro стали заложниками собственного стандарта. Но это крепление плохое и неудобное: с одной стороны оно требует очень много времени на ввинчивание барашка, а с другой стороны подвержено перекосам при резких рывках, если ты затянул не до самой дури. При этом есть полностью отсоединяемый элемент — собственно винт-барашек, который может легко теряться. У DJI проблема решена элегантно и очень мудро: магнит в сочетании с защёлками. Секунда на присоединение, две секунды на отсоединение. Можно прикреплять в сложных условиях, в перчатках, одной рукой итд. Прямо тема для главы учебника по промышленному дизайну или по ТРИЗ. Но во всех аксессуарах давно главенствует неудобное крепление GoPro, поэтому ребятам из DJI пришлось сделать переходник. При этом технически камера от DJI на уровне предыдущего поколения GoPro. И по картинке и по другим параметрам. И, к сожалению, они не удержались от того, чтобы своровать некрасивый асимметричный дизайн. До чего аккуратной и визуально приятной была DJI Action 2 на фоне камер от GoPro, а тут прямо передрали уродство. Это похоже на случай, когда производители Android-смартфонов одно время стали повторять уродскую чёлку от Apple просто ради моды, но, благо, быстро опомнились. Но зато DJI Action 3 сильно дешевле чем даже прошлое поколение от GoPro, вообще, с ценой не стали жадничать. Думаю, GoPro долгое время ощущали себя монополистами, поэтому завышали. Отдельный интерес вызывает версия GoPro 11 Mini. Как большая, но без экранов. Экран на экшен-камере — вещь второстепенная и далеко не всегда нужная. Зато часто имеет значение вес и габариты. Для коптеров, кажется, отличный вариант именно что-то типа Mini. Да, у них есть версия GoPro 10 Bones (без аккумулятора и экрана, облегчённая), но стоит она почему-то неадекватно дорого, а в России дороже, чем точно такая же с экраном и аккумулятором. Короче, на мой взгляд, у DJI виден потенциал, но прямо сейчас пока не дожали. Ещё одно-два поколения, и они обойдут нынешних лидеров. Я надеюсь. #gadgets

Hashtags

Резултати

Намерени 2 подобни публикации

Търсене: #multithreading

当前筛选 #multithreading清除筛选
djangoproject

@djangoproject · Post #95 · 11.07.2016 г., 12:14

https://docs.python.org/3/library/asyncio-dev.html#asyncio-multithreading 18.5.9.3. #Concurrency and #multithreading An event loop runs in a thread and executes all callbacks and tasks in the same thread. While a task is running in the event loop, no other task is running in the same thread. But when the task uses yield from, the task is suspended and the event loop executes the next task. To schedule a callback from a different thread, the BaseEventLoop.call_soon_threadsafe() method should be used. Example: loop.call_soon_threadsafe(callback, *args) Most asyncio objects are not thread safe. You should only worry if you access objects outside the event loop. For example, to cancel a future, don’t call directly its Future.cancel() method, but: loop.call_soon_threadsafe(fut.cancel) To handle signals and to execute subprocesses, the event loop must be run in the main thread. To schedule a coroutine object from a different thread, the run_coroutine_threadsafe() function should be used. It returns a concurrent.futures.Future to access the result: future = asyncio.run_coroutine_threadsafe(coro_func(), loop) result = future.result(timeout) # Wait for the result with a timeout The BaseEventLoop.run_in_executor() method can be used with a thread pool executor to execute a callback in different thread to not block the thread of the event loop. See also The Synchronization primitives section describes ways to synchronize tasks. The Subprocess and threads section lists asyncio limitations to run subprocesses from different threads.

GitHub Trends

@githubtrending · Post #14740 · 23.05.2025 г., 12:30

#python#async#asyncio#cross_platform#downloader#gui#multithreading#pyqt#pyside6#python#qt#software#streaming Ghost Downloader 3 is a fast, AI-powered download manager that works on Windows, Linux, and macOS. It speeds up downloads by splitting files into many parts and using multiple threads, dynamically adjusting to use your full bandwidth. It supports resuming downloads, proxy settings, SSL security, and clipboard monitoring for easy link capture. The interface is modern and user-friendly. This tool helps you download files more quickly and efficiently, with options to control speed and use proxies, making it ideal if you want faster, smarter, and more reliable downloads on your computer[1]. https://github.com/XiaoYouChR/Ghost-Downloader-3