Подпроцесс Python - Перенаправление stdout/err к двум местам

С точки зрения предприятия, развивая язык не хорошая вещь, это на самом деле довольно плохо.

Вот почему Вы слышите более старые языки как Кобол, Фортран и даже C записанный с числами года после них - много палок предприятий с тем годом.

Вдобавок ко всему, более многочисленные команды имеют в виду больше шанса, что кто-то в Вашей команде сделает, другие материала не понимают, таким образом, существует важное, но недооцененное значение в хранении языка, простого и чистого. Это означает не добавлять слишком много альтернативных способов сделать вещи.

я работал с Ruby и имел шар с языком, но рассмотрение его с точки зрения предприятия, это был абсолютно ужасающий язык. Я не мог считать способы, которыми плохой программист мог испортить многочисленную команду, вынудив их провести дни, распутав путаницу, созданную в минутах.

существуют компании, которые отказываются переходить к java 5.0 из-за сложности дженериков. (Мы все еще продолжаем работать 1.3x, но это по другой причине).

И честно, большинство "Улучшений" покупает Вас очень мало. Некоторое изменение синтаксиса, способность удалить несколько уровней фигурных скобок.

я не могу думать о единственном случае, где Java вынудил меня повторить бизнес-логику (Который является тем, что я волную по поводу того, когда я пытаюсь сделать свой код "DRY") - это - достаточно чистый язык, чтобы быть полностью DRY, если Вы - хороший программист.

, Например, что-либо можно сделать с закрытием, которое можно сделать с подклассом, не повторяя бизнес-логику - что Вы заканчиваете со взглядами, хуже из-за слоев определений классов фигурных скобок / дополнительных определений классов, но является часто более допускающим повторное использование (Можно расширить класс, который Вы используете для реализации обратного вызова, но Вы не можете расширить метод закрытия, необходимо переписать его.)

я не чувствовал этот путь о коде в течение первых нескольких десятилетий моей карьеры (я ЛЮБЛЮ приемы языка, более броское лучше), но теперь я был в этом долгим временем - Это могла быть моя старость, крадущаяся в, или это мог быть опыт, но теперь я вижу огромные преимущества для простого, явного, стабильного кода (предлагаемый языком, который не позволит Вам выделывать фокусы), и не может действительно найти единственное преимущество для многих альтернативных методов, даже если они сохраняют строку или два из ввода.

, Если Вы ищете обновление Java, однако, взгляд на Scala. Это довольно чертовски удивительно, все еще работает на JVM, взаимодействует с Java, и т.д.

9
задан Adam Matan 29 April 2012 в 06:47
поделиться

1 ответ

Как уже упоминалось здесь ...

  • блокировка - логическая концепция
  • блокировка блокирует только то, что находится в блоке кода в фигурных скобках.

Но чтобы дадим вам краткое представление: блокировка

- это не что иное, как замена Monitor.Enter и Monitor.Exit . Только это с блокировкой Monitor.Exit помещается в блок finally.

Итак, то, что вы ДЕЙСТВИТЕЛЬНО блокируете (в вашем коде), является объектом блокировки. Итак, в любом месте вашего кода, если вы используете этот объект-шкафчик для блокировки, этот блок кода будет заблокирован.

Я предполагаю, что ваша блокировка работает так: (гуру, пожалуйста, поправьте меня, если я ошибаюсь)

if(locker.SyncBlockIndex <0)>                                                       
{                                                                                
//obtain an index to free synch cache block                                      
//assign the index obtained in previous step to obj.SyncBlockIndex               
}                                                                                
syncblock = syncblockCache[locker.SyncBlockIndex]                                   
if(!syncblock is owned by the calling thread)                                    
{                                                                                
//susped the calling thread                                                      
}            

Посмотрите, поможет ли вам эта ссылка разобраться в блокировке (я написал это сообщение некоторое время назад)

http: //dotenetscribbles.blogspot.

8
ответ дан 4 December 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: