Использовать асинхронные сокеты и быстрые обработчики событий. При вызове асинхронной операции, она завершается в другом потоке из ThreadPool, который для этого выделяется. Т. е. напрямую потоками управлять не нужно. Их будет использоваться ровно столько, сколько одновременно будет выполняться обработчиков завершения операции. Поэтому обработчики нужно делать быстрыми, чтобы они на долго не занимали временно выделенные под них потоки. Если не получается, то данные можно складывать в очередь и выделять отдельные потоки-задачи для обслуживания этой очереди. Конкретное решение будет зависеть от ваших требований, количества одновременных клиентов, операций и так далее.
Разумеется, что пулы объектов не нужно пытаться использовать везде. Производительности сборщика мусора, особенно в последней версии фреймворка хватает для большинства случаев.
Для больших массивов есть похожий паттерн — buffer pooling, когда заранее создается большой массив (байтов например), и по требованию выделяются сегменты этого массива.
Нет. Все транзакции, которые не вошли в окончательную цепочку можно интерпретировать как отмененные. Хотя технически их просто не было и деньги все еще остались в кошельках.
Злоупотребление эвентами ухудшает читабельность кода, так как трудно отследить всех подписчиков. Но можно найти хотя бы источник событий, так как они являются частью интерфейса. В вашем же случае с читабельностью еще хуже, так как отследить невозможно не только подписчиков, но и источник — сигналы не входят в интерфейс. Ctrl+F в данном случае костыль, так как ищет по строкам и не понимает семантики. Не совсем понял, как управлять областью видимости сигналов, и возможно ли это в принципе.
Надо же, как Apple мозги людям промыла своими патентными исками. Теперь любой новый девайс будет подсознательно сравниваться с девайсом Apple. При наличии общих черт сравнение будет в пользу Apple, так как это потерпевшая сторона, у которой все воруют идеи.
Диссонанс, вызываемый отсутствием целостности и есть основная проблема «Windows 8».
Ну вот, обещали говорить за себя, а говорите за всех. Насколько серьезной проблемой это было лично для вас? Сколько времени лично у вас ушло, чтобы понять как делать базовые вещи в стартовом экране или решить, что он вам не нужен?
Хотя целесообразность наличия такого метода с именно такой функциональностью под вопросом, но для этого нужно контекст знать.
Для больших массивов есть похожий паттерн — buffer pooling, когда заранее создается большой массив (байтов например), и по требованию выделяются сегменты этого массива.