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

TGINSIGHT SIMILAR POSTS

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

Изходен канал @clockstackwheels · Post #654 · 16.11

Пытаюсь решить организационно-логистическую задачу в #Satisfactory. Может быть, умные люди (вы) мне дадите интересные советы. Я уже открыл практически все типы деталей, они довольно сложные, и для производства многих из них нужны целые цепочки: добыть ресурс А в одном месте и ресурс B в другом, потом сделать из них детали C и D, из этой пары получить деталь E, добыть ещё ресурс F, соединить, смешать с водой... В каком-то месте эти цепочки удобно разрывать (то есть не строить всё на одной фабрике, а растаскивать фабрики по карте). Потому что, во-первых, с гигантской базой, производящей все типы всех деталей, банально неудобно работать. Во-вторых, её тяжело масштабировать. Хотя у этого решения есть плюсы, и некоторые так делают, лично я идти по такому пути не хочу. Но в каком месте рвать цепочки? Глобально есть две крайности: 1. Можно делать по фабрике на каждое звено производства. Например, фабрика, которая делает деталь E, должна принимать на вход детали C и D, и всё. Такая схема очень легко масштабируется: небольшую фабрику очень просто расширять. А детали возить между фабриками поездами. Но тогда потребуется типа 100 разных фабрик и очень сложная железнодорожная сеть. 2. Можно в каждую фабрику привозить сырьё. Только то, что невозможно произвести, а можно только добыть. Фабрика делает с нуля из сырья все детали, в том числе для промежуточных звеньев. Такую схему очень легко балансировать: один раз посчитал, сколько нужно сырья, и всё. Но фабрики для сложных деталей будут громоздкие. А ещё если деталь C нужна в десяти местах то придётся десять раз повторить всю цепочку производства детали C, а можно было бы в одном месте делать очень много деталей C и возить. Мне не нравятся оба варианта, значит, рвать цепочку нужно где-то посередине. Но где? #games

Резултати

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

Търсене: #threading

当前筛选 #threading清除筛选
djangoproject

@djangoproject · Post #157 · 06.09.2016 г., 19:55

https://docs.python.org/2/library/multiprocessing.html #multiprocessing is a package that supports spawning processes using an #API similar to the #threading module. The multiprocessing package offers both local and remote #concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of #threads. Due to this, the multiprocessing module allows the programmer to fully leverage multiple processors on a given machine. It runs on both Unix and Windows.

djangoproject

@djangoproject · Post #118 · 08.08.2016 г., 11:44

https://docs.python.org/3/library/multiprocessing.html multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing package offers both local and remote concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads. Due to this, the multiprocessing module allows the programmer to fully leverage multiple processors on a given machine. It runs on both Unix and Windows. The #multiprocessing module also introduces #APIs which do not have analogs in the #threading#module. A prime example of this is the Pool object which offers a convenient means of parallelizing the execution of a function across multiple input values, distributing the input data across processes (data #parallelism). The following example demonstrates the common practice of defining such functions in a module so that child processes can successfully import that module. This basic example of data parallelism using Pool,

djangoproject

@djangoproject · Post #107 · 02.08.2016 г., 15:22

https://github.com/python/asyncio The #asyncio#module provides infrastructure for writing #single-threaded concurrent code using #coroutines, #multiplexing#I/O access over sockets and other resources, running network clients and servers, and other related primitives. Here is a more detailed list of the package contents: a pluggable event loop with various system-specific implementations; transport and protocol abstractions (similar to those in Twisted); concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls, and others (some may be system-dependent); a Future class that mimics the one in the concurrent.futures module, but adapted for use with the event loop; #coroutines and #tasks based on yield from (PEP 380), to help write concurrent code in a sequential fashion; cancellation support for Futures and coroutines; synchronization primitives for use between coroutines in a single thread, mimicking those in the #threading module; an interface for passing work off to a threadpool, for times when you absolutely, positively have to use a library that makes blocking I/O calls. Note: The implementation of asyncio was previously called "Tulip".