2016-09-09 13 views
0

コードを読むことで、Djangoはデフォルトでシングルスレッドで動作するようです。Djangoはデフォルトでシングルスレッドで動作しますか?

しかし、私は私のビュー機能でsleep(15)を使用し、私の機能を要求するために2つのWebを開きます。彼らはほぼ同時に応答を返す!

それが起こったんなぜ、私にはわからない......

私のDjangoのバージョンは1.9

+0

あなたは正しいです、[dev server](https://docs.djangoproject.com/ja/1.10/intro/tutorial01/#the-development-server)がコードを1つのスレッドで実行しています –

+0

"runserver "?または完全なWebサーバーですか? – FlipperPA

答えて

5

ジャンゴそのものであるが、それは1つ以上のスレッドで実行するかどうかを判断しません。これは、Djangoを実行しているサーバの仕事です。

開発サーバーは以前はシングルスレッド化されていましたが、最近のバージョンではマルチスレッド化されています。 Apache/mod_wsgi、gunicorn、uwsgiなどの他のサーバーは独自のデフォルトを持ち、さまざまな方法で構成できます。多くの場合、スレッドではなく複数のプロセスを使用します。

+0

ありがとうございます〜 – yunji

+0

スレッドを介してプロセスを使用する理由はありますか? – Algorithmatic

+0

@Algorithmatic。なぜなら、Python自体はスレッドセーフではないからです。 – Dan

関連する問題