Pull to refresh
142
0
Алексей Сигов @OpenMinded

User

Send message
Мне второй вариант нравится больше, но разумеется не в таком виде.

Connection InitClient(args) {
    var socket = CreateSocket(args);
    var connection = CreateConnection(socket);
    connection.StartHandshake();
}


Хотя целесообразность наличия такого метода с именно такой функциональностью под вопросом, но для этого нужно контекст знать.
Сколько строчек кода в функции? Можно отрефакторить и вынести код в три метода с понятными названиями.
К сожалению этот поезд уже ушел.
Использовать асинхронные сокеты и быстрые обработчики событий. При вызове асинхронной операции, она завершается в другом потоке из ThreadPool, который для этого выделяется. Т. е. напрямую потоками управлять не нужно. Их будет использоваться ровно столько, сколько одновременно будет выполняться обработчиков завершения операции. Поэтому обработчики нужно делать быстрыми, чтобы они на долго не занимали временно выделенные под них потоки. Если не получается, то данные можно складывать в очередь и выделять отдельные потоки-задачи для обслуживания этой очереди. Конкретное решение будет зависеть от ваших требований, количества одновременных клиентов, операций и так далее.
Разумеется, что пулы объектов не нужно пытаться использовать везде. Производительности сборщика мусора, особенно в последней версии фреймворка хватает для большинства случаев.

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

Information

Rating
Does not participate
Location
Могилевская обл., Беларусь
Date of birth
Registered
Activity