Одним из флагом функции QueueUserWorkItem является WT_EXECUTELONGFUNCTION. Документация для этого флага говорит:
Функция обратного вызова может выполняться длительное время. Этот флаг помогает системе решить, надо ли ей создавать новый поток.
...when altering one's mind becomes as easy as programming a computer, what does it mean to be human?..
Функция обратного вызова может выполняться длительное время. Этот флаг помогает системе решить, надо ли ей создавать новый поток.
ES_OEMCONVERT приводит к тому, что текст, вводимый в элемент управления edit будет конвертироваться из ANSI в OEM, а затем обратно в ANSI. Это гарантирует корректную конвертацию символов, когда приложение вызывает функцию AnsiToOem, чтобы перевести строку из edit в OEM символы. ES_OEMCONVERT особенно полезна для элементов управления для ввода имён файлов.Заведите свою машину времени на, скажем, 31-е января 1992-го - дату, когда была написана эта статья.
if (portfolioIdsByTraderId.get(trader.getId())
.containsKey(portfolio.getId())) {...}Вы чешете затылок, пытаясь догадаться, что может делать этот код. Выглядит как взятие ID из объекта trader и использование его для получения другого ID, после чего – поиск еще одного ID из объекта portfolio... Почесывание затылка почему-то не помогает. Вы ищете определение portfolioIdsByTraderId и находите следующее:Map<int, Map<int, int>> portfolioIdsByTraderId;Постепенно вы выясняете, что этот код делает что-то похожее на выяснение того, имеет ли трейдер доступ к портфелю акций. И конечно же, этот (или похожий на него) фрагмент кода будет повторяться везде, где будет требоваться выяснить, есть ли у трейдера доступ к портфелю.
if (trader.canView(portfolio)) {...}И никакого почесывания затылка не требуется. Вам не нужно знать подробности, что у этой функции внутри. Вероятнее всего, там будет подобное приведенному выше фрагменту, но это уже дело trader, а не ваше.возьмите энумератор, подмешайте к нему класс-хэлпер и полейте этим invokeable custom вариантВот, снова. О чём это он говорит?
Когда я делаю NET USE * \\MYSERVER\SERVERSSHARE из CMD.EXE и консоль подвисает - я нажимаю Ctrl+C, но сколько бы раз я это ни делал, это не помогает: приложение отвисает только когда оно сдаётся само.
Ну почему это так? Почему я просто не могу нажать Ctrl+C для остановки приложения?
Красота стиля, гармонии, изящества и хорошего ритма зависит от простоты. - ПлатонЯ считаю, что одно это предложение суммирует ценности, к которым мы, как разработчики программного обеспечения, должны стремиться.