regex = r"\s\*{2,}[\s\n]"
Это соответствует 2 или более *
символам, окруженным пробелами (или оканчивается новой строкой)
Называть это может быть так?
regex = r"\s\*{2,}[\s\n]"
def replacer(match):
return 'x' * len(match.group())
re.sub(regex, replacer, your_string_here)
Обертывание взаимного исключения в a using
оператор будет действительно препятствовать тому, чтобы он был собран "мусор", но также избавится от него (это звонит Dispose
, нет Close
) в конце (тогда как GC.KeepAlive
не будет, очевидно).
Если конец метода действительно будет концом процесса, я не полагаю, что это, вероятно, будет иметь любое практическое значение, которое Вы используете - я предпочитаю using
оператор на общем принципе избавления от чего-либо, что реализует IDisposable
.
Если взаимное исключение не было расположено, когда процесс выходит, я подозреваю, что его финализатор будет заботиться о нем - пока другие финализаторы не делают пожирателя ресурсов поток завершения вне его тайм-аута.
Если финализатор не заботится о нем, я не знаю, заметит ли сам Windows, что процесс не может возможно больше владеть взаимным исключением, учитывая, что это (процесс) больше не существует. Я подозреваю, что это будет, но необходимо было бы проверить, подробно изложил документацию Win32 для знания наверняка.
Используя using
кажется, лучшее соответствие в этом случае, чем использование GC.KeepAlive
. Вы не только хотите сохранить Mutex
живой, пока приложение работает, Вы также хотите, чтобы оно ушло, как только Вы выходите из основного цикла.
Если Вы просто уезжаете Mutex
при зависании, не располагая его, там может пройти некоторое время, прежде чем это будет завершено, в зависимости от того, сколько там должна сделать работа очистки, когда приложение закрывается.
Я думаю, что KeepAlive используется с названным Mutex, чтобы убедиться, что он НЕ является мусором, собираемым рано. Шаблон C # using / Dispose не защищен от этого. Когда ссылка на объект больше не используется в области видимости, среда выполнения может собирать ее до конца области. Это оптимизация.