質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

3599閲覧

Pythonのset daemon関する使い方を教えていい?

dereck

総合スコア8

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2016/02/22 05:20

編集2022/01/12 10:55

Pythonバージョン:3.5.1
OS環境:Windows 7(32 bit)

ソースコード1「d.setDaemon(True)」は下記のようになった。

import threading import time import logging logging.basicConfig(level=logging.DEBUG,format='(%(threadName)-10s) %(message)s',) def daemon(): logging.debug('starting') time.sleep(2) logging.debug('exiting') d = threading.Thread(name='daemon', target=daemon) d.setDaemon(True) def non_daemon(): logging.debug('starting_non') logging.debug('exiting_non') t = threading.Thread(name='non-daemon', target=non_daemon) d.start() t.start()

実行結果1は下記です。
イメージ説明

ソースコード2「d.setDaemon(False)」は下記のようになった。

import threading import time import logging logging.basicConfig(level=logging.DEBUG,format='(%(threadName)-10s) %(message)s',) def daemon(): logging.debug('starting2') time.sleep(2) logging.debug('exiting2') d = threading.Thread(name='daemon', target=daemon) d.setDaemon(False) def non_daemon(): logging.debug('starting_non2') logging.debug('exiting_non2') t = threading.Thread(name='non-daemon', target=non_daemon) d.start() t.start()

実行結果2は下記です。
イメージ説明

>>d.setDaemon(True)とd.setDaemon(False)の実行結果はどうして?
※何かがあればここで書いてください。

以上です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

はじめまして。
Pythonシェルだとデーモンスレッドでも結果が表示されるようですね。
「python3 daemonDemo.py」のような実行方法にするか、
以下のようにするとスレッドの種類がわかると思います。
...

t = threading.Thread(name='non-daemon', target=non_daemon)
d.start()
t.start()
logging.debug(threading.enumerate()) # 全てのスレッドを表示
logging.debug(threading.current_thread()) # 現在のスレッドを表示
logging.debug(threading.enumerate()[0].isDaemon()) # スレッドがデーモンかどうか表示
logging.debug(threading.enumerate()[1].isDaemon())

投稿2016/02/26 05:58

hiroki8080

総合スコア254

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問