mirror of
https://github.com/sinatra/sinatra
synced 2023-03-27 23:18:01 -04:00
Merge pull request #1014 from sinatrasapporo/ja-multi-threaded
Add documentation in Japanese about multi-threading.
This commit is contained in:
commit
973c177930
1 changed files with 32 additions and 0 deletions
32
README.ja.md
32
README.ja.md
|
@ -109,6 +109,7 @@ ThinがあればSinatraはこれを利用するので、`gem install thin`する
|
||||||
* [リクエスト/インスタンスのスコープ](#リクエストインスタンスのスコープ)
|
* [リクエスト/インスタンスのスコープ](#リクエストインスタンスのスコープ)
|
||||||
* [デリゲートスコープ](#デリゲートスコープ)
|
* [デリゲートスコープ](#デリゲートスコープ)
|
||||||
* [コマンドライン](#コマンドライン)
|
* [コマンドライン](#コマンドライン)
|
||||||
|
* [マルチスレッド](#マルチスレッド)
|
||||||
* [必要環境](#必要環境)
|
* [必要環境](#必要環境)
|
||||||
* [最新開発版](#最新開発版)
|
* [最新開発版](#最新開発版)
|
||||||
* [Bundlerを使う場合](#bundlerを使う場合)
|
* [Bundlerを使う場合](#bundlerを使う場合)
|
||||||
|
@ -2575,6 +2576,37 @@ ruby myapp.rb [-h] [-x] [-e ENVIRONMENT] [-p PORT] [-o HOST] [-s HANDLER]
|
||||||
-x # mutex lockを付ける (デフォルトはoff)
|
-x # mutex lockを付ける (デフォルトはoff)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### マルチスレッド
|
||||||
|
|
||||||
|
_この[StackOverflow][so-answer]でのKonstantinによる回答を言い換えています。_
|
||||||
|
|
||||||
|
Sinatraでは同時実行モデルを負わせることはできませんが、根本的な部分であるThinやPuma、WebrickのようなRackハンドラ(サーバー)部分に委ねることができます。
|
||||||
|
Sinatra自身はスレッドセーフであり、もしRackハンドラが同時実行モデルのスレッドを使用していても問題はありません。
|
||||||
|
つまり、これはサーバーを起動させる時、特定のRackハンドラに対して正しい起動処理を特定することが出来ます。
|
||||||
|
この例はThinサーバーをマルチスレッドで起動する方法のデモです。
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
# app.rb
|
||||||
|
|
||||||
|
require 'sinatra/base'
|
||||||
|
|
||||||
|
class App < Sinatra::Base
|
||||||
|
get '/' do
|
||||||
|
"Hello, World"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
App.run!
|
||||||
|
```
|
||||||
|
|
||||||
|
サーバーを開始するコマンドです。
|
||||||
|
|
||||||
|
```
|
||||||
|
thin --threaded start
|
||||||
|
```
|
||||||
|
|
||||||
|
[so-answer]: http://stackoverflow.com/questions/6278817/is-sinatra-multi-threaded/6282999#6282999)
|
||||||
|
|
||||||
## 必要環境
|
## 必要環境
|
||||||
|
|
||||||
次のRubyバージョンが公式にサポートされています。
|
次のRubyバージョンが公式にサポートされています。
|
||||||
|
|
Loading…
Add table
Reference in a new issue