[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"topic-mnogopotochnost":3,"topic-questions-mnogopotochnost":12},{"id":4,"name":5,"slug":6,"description":7,"emoji":8,"color":9,"sortOrder":10,"questionCount":11,"knownCount":10,"learningCount":10,"weakCount":10},8,"Многопоточность","mnogopotochnost","Вопросы по теме Многопоточность","🔀","violet",0,63,[13,27,37,43,52,60,69,78,87,95,103,111,117,125,134,141,150,158,163,169,177,184,189,199,208,216,223,232,241,250,261,268,276,284,290,299,307,315,322,329,338,345,352,359,367,372,379,385,393,398,405,414,422,430,437,442,451,458,466,473,478,489,500],{"id":14,"slug":15,"question":16,"difficulty":17,"tags":18,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},273,"v-chyom-raznitsa-mezhdu-konkurentsiey-i-parallelizmom","В чём разница между конкуренцией и параллелизмом?","senior",[19,20,21,22,23,24],"ScopedValue","Java-21","контекст","ThreadLocal","Virtual-Threads","concurrency",null,false,{"id":28,"slug":29,"question":30,"difficulty":31,"tags":32,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},245,"v-chem-raznitsa-mezhdu-notify-i-notifyall","В чем разница между notify() и notifyAll()?","middle",[33,34,35,36,24],"isInterrupted","interrupted","прерывание","Thread",{"id":38,"slug":39,"question":40,"difficulty":41,"tags":42,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},244,"chto-takoe-deadlock","Что такое deadlock?","junior",[],{"id":44,"slug":45,"question":46,"difficulty":31,"tags":47,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},246,"chto-takoe-livelock","Что такое livelock?",[48,49,50,51,24],"блокировка","deadlock","livelock","многопоточность",{"id":53,"slug":54,"question":55,"difficulty":31,"tags":56,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},247,"kak-proverit-uderzhivaet-li-potok-monitor-opredelyonnogo-resursa","Как проверить, удерживает ли поток монитор определённого ресурса?",[57,58,59,36,24],"holdsLock","синхронизация","monitor",{"id":61,"slug":62,"question":63,"difficulty":31,"tags":64,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},248,"na-kakom-obekte-proiskhodit-sinkhronizatsiya-pri-vyzove-static-synchronized-metoda","На каком объекте происходит синхронизация при вызове static synchronized метода?",[65,66,67,68,24],"synchronized","монитор","static","Class",{"id":70,"slug":71,"question":72,"difficulty":41,"tags":73,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},249,"dlya-chego-ispolzuetsya-klyuchevoe-slovo-volatile-synchronized-transient-native","Для чего используется ключевое слово volatile, synchronized, transient, native?",[65,74,75,76,77,24],"ключевые слова","native","transient","volatile",{"id":79,"slug":80,"question":81,"difficulty":31,"tags":82,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},250,"v-chyom-razlichiya-mezhdu-volatile-i-atomic-peremennymi","В чём различия между volatile и Atomic переменными?",[83,84,85,77,86,24],"CAS","AtomicInteger","Atomic","атомарность",{"id":88,"slug":89,"question":90,"difficulty":17,"tags":91,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},251,"v-chyom-zaklyuchayutsya-razlichiya-mezhdu-java-util-concurrent-atomic-compareandswap-i-java-util-concurrent-atomic-weakcompareandswap","В чём заключаются различия между java.util.concurrent.Atomic*.compareAndSwap() и java.util.concurrent.Atomic*.weakCompareAndSwap()",[83,92,85,93,94,24],"compareAndSwap","memory barrier","weakCompareAndSwap",{"id":96,"slug":97,"question":98,"difficulty":41,"tags":99,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},252,"chto-znachit-prioritet-potoka","Что значит приоритет потока?",[100,101,102,36,24],"планировщик","приоритет","setPriority",{"id":104,"slug":105,"question":106,"difficulty":41,"tags":107,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},253,"chto-takoe-potoki-demony","Что такое потоки-демоны?",[108,109,36,24,110],"setDaemon","фоновый поток","daemon",{"id":112,"slug":113,"question":114,"difficulty":41,"tags":115,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},254,"mozhno-li-sdelat-osnovnoy-potok-programmy-demonom","Можно ли сделать основной поток программы демоном?",[116,36,24,110],"main",{"id":118,"slug":119,"question":120,"difficulty":41,"tags":121,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},255,"chto-znachit-usypit-potok","Что значит усыпить поток?",[122,123,124,24],"interrupt","InterruptedException","Thread.sleep",{"id":126,"slug":127,"question":128,"difficulty":41,"tags":129,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},256,"chem-otlichayutsya-dva-interfeysa-runnable-i-callable","Чем отличаются два интерфейса Runnable и Callable?",[130,131,132,133,24],"Runnable","Future","Callable","интерфейс",{"id":135,"slug":136,"question":137,"difficulty":31,"tags":138,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},257,"chto-takoe-futuretask","Что такое FutureTask?",[139,130,131,140,132,24],"FutureTask","асинхронность",{"id":142,"slug":143,"question":144,"difficulty":31,"tags":145,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},258,"v-chem-zaklyuchayutsya-razlichiya-mezhdu-cyclicbarrier-i-countdownlatch","В чем заключаются различия между CyclicBarrier и CountDownLatch?",[146,147,148,149,24],"синхронизатор","барьер","CountDownLatch","CyclicBarrier",{"id":151,"slug":152,"question":153,"difficulty":31,"tags":154,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},259,"chto-takoe-race-condition","Что такое race condition?",[155,156,24,157],"race condition","состояние гонки","ошибка проектирования",{"id":159,"slug":160,"question":161,"difficulty":31,"tags":162,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},260,"sushchestvuet-li-sposob-resheniya-problemy-race-condition","Существует ли способ решения проблемы race condition?",[65,155,58,77,24],{"id":164,"slug":165,"question":166,"difficulty":31,"tags":167,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},261,"kak-ostanovit-potok","Как остановить поток?",[168,33,122,36,24],"остановка потока",{"id":170,"slug":171,"question":172,"difficulty":31,"tags":173,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},262,"pochemu-ne-rekomenduetsya-ispolzovat-metod-thread-stop","Почему не рекомендуется использовать метод Thread.stop()?",[174,175,176,24],"Thread.stop","deprecated","безопасность потоков",{"id":178,"slug":179,"question":180,"difficulty":31,"tags":181,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},263,"chto-proiskhodit-kogda-v-potoke-vybrasyvaetsya-isklyuchenie","Что происходит, когда в потоке выбрасывается исключение?",[182,183,36,24],"exception","UncaughtExceptionHandler",{"id":185,"slug":186,"question":187,"difficulty":31,"tags":188,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},264,"v-chem-raznitsa-mezhdu-interrupted-i-isinterrupted","В чем разница между interrupted() и isInterrupted()?",[33,34,35,36,24],{"id":190,"slug":191,"question":192,"difficulty":31,"tags":193,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},265,"chto-takoe-pul-potokov","Что такое пул потоков?",[194,195,196,197,198,24],"Executor","ExecutorService","Executors","ThreadPoolExecutor","thread pool",{"id":200,"slug":201,"question":202,"difficulty":31,"tags":203,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},266,"kakogo-razmera-dolzhen-byt-pul-potokov","Какого размера должен быть пул потоков?",[204,205,206,207,198,24],"IO-bound","производительность","CPU-bound","размер пула",{"id":209,"slug":210,"question":211,"difficulty":31,"tags":212,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},267,"chto-budet-esli-ochered-pula-potokov-uzhe-zapolnena-no-podayotsya-novaya-zadacha","Что будет, если очередь пула потоков уже заполнена, но подаётся новая задача?",[213,214,198,215,24],"RejectedExecutionHandler","очередь","RejectedExecutionException",{"id":217,"slug":218,"question":219,"difficulty":31,"tags":220,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},268,"v-chyom-zaklyuchaetsya-razlichie-mezhdu-metodami-submit-i-execute-u-pula-potokov","В чём заключается различие между методами submit() и execute() у пула потоков?",[194,221,195,131,222,24],"submit","execute",{"id":224,"slug":225,"question":226,"difficulty":31,"tags":227,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},269,"v-chem-zaklyuchayutsya-razlichiya-mezhdu-stekom-stack-i-kuchey-heap-s-tochki-zreniya-mnogopotochnosti","В чем заключаются различия между стеком (stack) и кучей (heap) с точки зрения многопоточности?",[228,229,77,230,231,24],"stack","кэширование","heap","память",{"id":233,"slug":234,"question":235,"difficulty":31,"tags":236,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},270,"kak-podelitsya-dannymi-mezhdu-dvumya-potokami","Как поделиться данными между двумя потоками?",[237,238,239,240,24],"BlockingQueue","обмен данными","Exchanger","общий объект",{"id":242,"slug":243,"question":244,"difficulty":41,"tags":245,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},271,"kakoy-parametr-zapuska-jvm-ispolzuetsya-dlya-kontrolya-razmera-steka-potoka","Какой параметр запуска JVM используется для контроля размера стека потока?",[246,247,248,249,24],"JVM","стек","параметры запуска","-Xss",{"id":251,"slug":252,"question":253,"difficulty":31,"tags":254,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},272,"kak-poluchit-damp-potoka","Как получить дамп потока?",[255,256,257,258,259,260,24],"thread dump","jmap","heap dump","JConsole","HPROF","OutOfMemoryError",{"id":262,"slug":263,"question":264,"difficulty":31,"tags":265,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},274,"chto-takoe-threadlocal-peremennaya","Что такое ThreadLocal-переменная?",[266,22,267,24],"потоки","изоляция-данных",{"id":269,"slug":270,"question":271,"difficulty":31,"tags":272,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},275,"nazovite-razlichiya-mezhdu-synchronized-i-reentrantlock","Назовите различия между synchronized и ReentrantLock",[273,65,274,275,24],"ReentrantLock","блокировки","Lock",{"id":277,"slug":278,"question":279,"difficulty":31,"tags":280,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},276,"chto-takoe-readwritelock","Что такое ReadWriteLock?",[281,274,282,283,24],"ReadWriteLock","ReentrantReadWriteLock","чтение-запись",{"id":285,"slug":286,"question":287,"difficulty":41,"tags":288,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},277,"chto-takoe-blokiruyushchiy-metod","Что такое блокирующий метод?",[266,289,140,24],"блокирующий-метод",{"id":291,"slug":292,"question":293,"difficulty":31,"tags":294,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},278,"chto-takoe-freymvork-fork-join","Что такое фреймворк Fork\u002FJoin?",[295,296,297,298,24],"work-stealing","параллелизм","Fork\u002FJoin","ForkJoinPool",{"id":300,"slug":301,"question":302,"difficulty":31,"tags":303,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},279,"chto-takoe-semaphore","Что такое Semaphore?",[304,305,146,306,24],"ограничение-доступа","счётчик","Semaphore",{"id":308,"slug":309,"question":310,"difficulty":31,"tags":311,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},280,"chto-takoe-double-checked-locking-singleton","Что такое double checked locking Singleton?",[312,313,314,77,24],"Singleton","double-checked-locking","паттерны",{"id":316,"slug":317,"question":318,"difficulty":31,"tags":319,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},281,"kak-sozdat-potokobezopasnyy-singleton","Как создать потокобезопасный Singleton?",[320,312,314,321,24],"потокобезопасность","enum",{"id":323,"slug":324,"question":325,"difficulty":41,"tags":326,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},282,"chem-polezny-neizmenyaemye-obekty","Чем полезны неизменяемые объекты?",[327,320,328,24],"immutability","неизменяемость",{"id":330,"slug":331,"question":332,"difficulty":31,"tags":333,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},283,"chto-takoe-busy-spin","Что такое busy spin?",[334,335,336,337,24],"кэш-процессора","ожидание","busy-spin","оптимизация",{"id":339,"slug":340,"question":341,"difficulty":31,"tags":342,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},284,"perechislite-printsipy-kotorym-vy-sleduete-v-mnogopotochnom-programmirovanii","Перечислите принципы, которым вы следуете в многопоточном программировании",[343,344,58,51,24],"принципы","лучшие-практики",{"id":346,"slug":347,"question":348,"difficulty":41,"tags":349,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},285,"kakoe-iz-sleduyushchikh-utverzhdeniy-o-potokakh-neverno","Какое из следующих утверждений о потоках неверно?",[266,350,351,36,24],"start","run",{"id":353,"slug":354,"question":355,"difficulty":41,"tags":356,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},286,"dany-3-potoka-t1-t2-i-t3-kak-realizovat-vypolnenie-v-posledovatelnosti-t1-t2-t3","Даны 3 потока Т1, Т2 и Т3. Как реализовать выполнение в последовательности Т1, Т2, Т3?",[357,266,358,24],"последовательность","Thread.join",{"id":360,"slug":361,"question":362,"difficulty":17,"tags":363,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},287,"napishite-minimalnyy-neblokiruyushchiy-stek-vsego-dva-metoda-push-i-pop","Напишите минимальный неблокирующий стек (всего два метода — push() и pop())",[83,364,365,366,24],"lock-free","неблокирующий-стек","AtomicReference",{"id":368,"slug":369,"question":370,"difficulty":17,"tags":371,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},288,"napishite-minimalnyy-neblokiruyushchiy-stek-vsego-dva-metoda-push-i-pop-s-ispolzovaniem-semaphore","Напишите минимальный неблокирующий стек (всего два метода — push() и pop()) с использованием Semaphore",[83,364,365,366,24],{"id":373,"slug":374,"question":375,"difficulty":17,"tags":376,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},289,"napishite-minimalnyy-neblokiruyushchiy-arraylist-vsego-chetyre-metoda-add-get-remove-size","Напишите минимальный неблокирующий ArrayList (всего четыре метода — add(), get(), remove(), size())",[320,377,378,77,24],"copy-on-write","неблокирующий-ArrayList",{"id":380,"slug":381,"question":382,"difficulty":17,"tags":383,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},290,"napishite-potokobezopasnuyu-realizatsiyu-klassa-s-neblokiruyushchim-metodom-biginteger-next-kotoryy-vozvrashchaet-elementy-posledovatelnosti-1-2-4-8-16","Напишите потокобезопасную реализацию класса с неблокирующим методом BigInteger next(), который возвращает элементы последовательности: [1, 2, 4, 8, 16, ...]",[83,364,384,366,24],"BigInteger",{"id":386,"slug":387,"question":388,"difficulty":17,"tags":389,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},291,"napishite-prosteyshiy-mnogopotochnyy-ogranichennyy-bufer-s-ispolzovaniem-synchronized","Напишите простейший многопоточный ограниченный буфер с использованием synchronized",[65,390,391,392,24],"wait-notify","буфер","producer-consumer",{"id":394,"slug":395,"question":396,"difficulty":17,"tags":397,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},292,"napishite-prosteyshiy-mnogopotochnyy-ogranichennyy-bufer-s-ispolzovaniem-reentrantlock","Напишите простейший многопоточный ограниченный буфер с использованием ReentrantLock",[65,390,391,392,24],{"id":399,"slug":400,"question":401,"difficulty":31,"tags":402,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},293,"chto-takoe-completablefuture-i-kak-on-rabotaet","Что такое CompletableFuture и как он работает?",[403,131,140,404,24],"CompletableFuture","CompletionStage",{"id":406,"slug":407,"question":408,"difficulty":31,"tags":409,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},294,"kakie-osnovnye-metody-est-u-completablefuture","Какие основные методы есть у CompletableFuture?",[410,403,411,412,413,24],"allOf","exceptionally","thenCompose","thenApply",{"id":415,"slug":416,"question":417,"difficulty":31,"tags":418,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},295,"chto-takoe-asinkhronnoe-programmirovanie-v-java-i-kakie-osnovnye-patterny-sushchestvuyut","Что такое асинхронное программирование в Java и какие основные паттерны существуют?",[419,420,131,140,421,23,24],"Callback","реактивные-потоки","Event-Loop",{"id":423,"slug":424,"question":425,"difficulty":31,"tags":426,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},296,"chto-takoe-virtual-threads-project-loom-i-chem-oni-otlichayutsya-ot-platform-threads","Что такое Virtual Threads (Project Loom) и чем они отличаются от Platform Threads?",[20,427,428,429,23,24],"carrier-threads","Platform-Threads","Project-Loom",{"id":431,"slug":432,"question":433,"difficulty":17,"tags":434,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},297,"chto-takoe-structured-concurrency-structuredtaskscope-i-zachem-eto-nuzhno","Что такое Structured Concurrency (StructuredTaskScope) и зачем это нужно?",[20,435,23,436,24],"Structured-Concurrency","StructuredTaskScope",{"id":438,"slug":439,"question":440,"difficulty":17,"tags":441,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},298,"v-chyom-raznitsa-mezhdu-scopedvalue-i-threadlocal","В чём разница между ScopedValue и ThreadLocal?",[19,20,21,22,23,24],{"id":443,"slug":444,"question":445,"difficulty":31,"tags":446,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},299,"kakie-sushchestvuyut-concurrent-collections-i-v-chyom-ikh-osobennosti","Какие существуют Concurrent Collections и в чём их особенности?",[237,447,448,449,450,24],"коллекции","ConcurrentHashMap","ConcurrentLinkedQueue","CopyOnWriteArrayList",{"id":452,"slug":453,"question":454,"difficulty":17,"tags":455,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},300,"chto-takoe-stampedlock-i-chem-on-otlichaetsya-ot-reentrantreadwritelock","Что такое StampedLock и чем он отличается от ReentrantReadWriteLock?",[456,457,274,282,24],"оптимистичное-чтение","StampedLock",{"id":459,"slug":460,"question":461,"difficulty":17,"tags":462,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},301,"chto-takoe-phaser-i-kogda-ego-ispolzovat","Что такое Phaser и когда его использовать?",[463,146,147,464,465,24],"фазы","Phaser","динамические-участники",{"id":467,"slug":468,"question":469,"difficulty":31,"tags":470,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},302,"chto-takoe-exchanger-i-dlya-chego-on-ispolzuetsya","Что такое Exchanger и для чего он используется?",[471,472,239,146,24],"двойная-буферизация","обмен-данными",{"id":474,"slug":475,"question":476,"difficulty":17,"tags":477,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},303,"chto-takoe-completionservice-i-kogda-ego-primenyat","Что такое CompletionService и когда его применять?",[463,146,147,464,465,24],{"id":479,"slug":480,"question":481,"difficulty":17,"tags":482,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},304,"chto-takoe-reaktivnye-potoki-i-java-util-concurrent-flow-api","Что такое реактивные потоки и java.util.concurrent.Flow API?",[483,484,485,486,487,488,24],"Flow-API","backpressure","SubmissionPublisher","Subscriber","Reactive-Streams","Publisher",{"id":490,"slug":491,"question":492,"difficulty":17,"tags":493,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},305,"chto-takoe-model-aktorov-i-kak-ona-realizovana-v-java","Что такое модель акторов и как она реализована в Java?",[494,495,496,497,498,499,24],"mailbox","акторы","Pekko","сообщения","Actor-Model","Akka",{"id":501,"slug":502,"question":503,"difficulty":17,"tags":504,"topicId":4,"topicSlug":6,"topicName":5,"topicEmoji":8,"status":25,"starred":26},306,"chem-otlichayutsya-korutiny-virtual-threads-i-platform-threads","Чем отличаются корутины, Virtual Threads и Platform Threads?",[505,428,506,23,507,24],"корутины","сравнение","Kotlin"]