Что такое поток демона в Java?

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

def fn(string,endparens=False):
    exp = []
    idx = -1
    for char in string:
        if char == "(":
            idx += 1
            exp.append("")
        elif char == ")":
            idx -= 1
            if idx != -1:
                exp[idx] = "(" + exp[idx+1] + ")"
        else:
            exp[idx] += char
    if endparens:
        exp = ["("+val+")" for val in exp]
    return exp
742
задан TTT 14 March 2018 в 13:17
поделиться

4 ответа

Еще несколько моментов (Ссылка: Параллелизм Java на практике )

  • Когда создается новый поток, он наследует статус демона своего родителя .
  • Когда все потоки, не являющиеся демонами, завершаются, JVM останавливается, и все оставшиеся потоки демонов прекращаются :

    • блоки finally не выполняются ,
    • стеки не разматываются - JVM просто завершает работу.

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

333
ответ дан 22 November 2019 в 21:24
поделиться

Поток демона - это поток, который не препятствует завершению JVM, когда программа завершается, но поток все еще работает. Примером потока демона является сборка мусора.

Вы можете использовать метод setDaemon (boolean) для изменения свойств демона Thread перед запуском потока.

604
ответ дан 22 November 2019 в 21:24
поделиться

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

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

Вы можете указать, что Thread является daemon, используя метод setDaemon, они обычно не завершаются, не прерываются... они просто останавливаются, когда приложение останавливается.

33
ответ дан 22 November 2019 в 21:24
поделиться

Традиционно демонские процессы в UNIX были процессами, которые постоянно выполнялись в фоновом режиме, подобно службам в Windows.

Демонский поток в Java - это поток, который не препятствует выходу JVM. В частности, JVM завершится, когда останутся только потоки-демоны. Вы создаете такой поток, вызывая метод setDaemon() на Thread.

Прочитайте статью Daemon threads.

95
ответ дан 22 November 2019 в 21:24
поделиться
Другие вопросы по тегам:

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