ライブラリ
- ビルトイン (816)
-
cgi
/ html (22) - csv (11)
- digest (11)
-
digest
/ sha2 (11) - etc (66)
- fcntl (11)
- fiddle (22)
- gdbm (11)
-
io
/ nonblock (22) -
minitest
/ unit (1) - monitor (39)
-
mutex
_ m (99) -
net
/ ftp (143) -
net
/ http (22) - openssl (88)
- optparse (22)
- ostruct (6)
- pathname (11)
- psych (44)
-
rubygems
/ commands / lock _ command (22) - shell (69)
-
shell
/ command-processor (18) -
shell
/ filter (18) -
shell
/ process-controller (6) - socket (187)
- stringio (22)
- sync (72)
-
syslog
/ logger (77) - thread (14)
- thwait (6)
-
webrick
/ utils (11)
クラス
-
ARGF
. class (11) - Array (56)
- BasicSocket (33)
- CSV (11)
- Class (11)
- Data (4)
-
Digest
:: Base (11) -
Digest
:: SHA2 (11) -
Enumerator
:: Lazy (22) -
Fiddle
:: Closure :: BlockCaller (22) - File (22)
-
File
:: Stat (22) - GDBM (11)
-
Gem
:: Commands :: LockCommand (22) - Hash (6)
- IO (44)
- Monitor (21)
- Mutex (12)
-
Net
:: FTP (143) -
Net
:: HTTP (22) - Object (11)
-
OpenSSL
:: Cipher (11) -
OpenSSL
:: Digest (11) -
OpenSSL
:: SSL :: SSLSocket (22) - OpenStruct (6)
- OptionParser (22)
- Pathname (11)
-
Psych
:: Nodes :: Mapping (22) -
Psych
:: Nodes :: Sequence (22) - Shell (69)
-
Shell
:: CommandProcessor (18) -
Shell
:: Filter (18) -
Shell
:: ProcessController (6) - Socket (77)
- String (58)
- StringIO (22)
- Struct (17)
-
Sync
_ m :: LockModeFailer (6) -
Sync
_ m :: UnknownLocker (6) -
Syslog
:: Logger (77) - TCPServer (11)
- Thread (3)
-
Thread
:: Mutex (54) -
Thread
:: Queue (33) -
Thread
:: SizedQueue (53) - ThreadsWait (6)
- UDPSocket (11)
- UNIXServer (11)
モジュール
-
CGI
:: HtmlExtension (22) - Enumerable (33)
- Etc (66)
- Fcntl (11)
-
File
:: Constants (55) - FileTest (11)
- Kernel (22)
-
MiniTest
:: Assertions (1) - MonitorMixin (18)
-
Mutex
_ m (88) -
OpenSSL
:: Buffering (33) -
OpenSSL
:: SSL (11) - Process (275)
-
Socket
:: Constants (44) -
Sync
_ m (60) -
WEBrick
:: Utils (11)
オブジェクト
- ENV (6)
キーワード
- BLOCK (22)
-
BLOCK
_ SIZE (11) -
CLOCK
_ BOOTTIME (11) -
CLOCK
_ BOOTTIME _ ALARM (11) -
CLOCK
_ MONOTONIC (11) -
CLOCK
_ MONOTONIC _ COARSE (11) -
CLOCK
_ MONOTONIC _ FAST (11) -
CLOCK
_ MONOTONIC _ PRECISE (11) -
CLOCK
_ MONOTONIC _ RAW (11) -
CLOCK
_ MONOTONIC _ RAW _ APPROX (11) -
CLOCK
_ PROCESS _ CPUTIME _ ID (11) -
CLOCK
_ PROF (11) -
CLOCK
_ REALTIME (11) -
CLOCK
_ REALTIME _ ALARM (11) -
CLOCK
_ REALTIME _ COARSE (11) -
CLOCK
_ REALTIME _ FAST (11) -
CLOCK
_ REALTIME _ PRECISE (11) -
CLOCK
_ SECOND (11) -
CLOCK
_ THREAD _ CPUTIME _ ID (11) -
CLOCK
_ UPTIME (11) -
CLOCK
_ UPTIME _ FAST (11) -
CLOCK
_ UPTIME _ PRECISE (11) -
CLOCK
_ UPTIME _ RAW (11) -
CLOCK
_ UPTIME _ RAW _ APPROX (11) -
CLOCK
_ VIRTUAL (11) -
DEFAULT
_ BLOCKSIZE (11) - Fail (12)
-
IP
_ BLOCK _ SOURCE (22) -
IP
_ UNBLOCK _ SOURCE (22) -
LOCK
_ EX (11) -
LOCK
_ NB (11) -
LOCK
_ SH (11) -
LOCK
_ UN (11) -
MCAST
_ BLOCK _ SOURCE (22) -
MCAST
_ UNBLOCK _ SOURCE (22) -
Mutex
_ m (11) -
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 1 . 0 (11) - NOLOCK (11)
- NONBLOCK (11)
-
OP
_ TLS _ BLOCK _ PADDING _ BUG (11) -
O
_ NONBLOCK (11) -
RLIMIT
_ MEMLOCK (11) - Ruby用語集 (11)
-
SC
_ CLOCK _ SELECTION (11) -
SC
_ MEMLOCK (11) -
SC
_ MEMLOCK _ RANGE (11) -
SC
_ MONOTONIC _ CLOCK (11) -
SC
_ READER _ WRITER _ LOCKS (11) -
SC
_ SPIN _ LOCKS (11) - Thread (11)
-
accept
_ nonblock (44) - add (11)
-
assert
_ block (1) -
block
_ given? (11) -
block
_ length (33) -
block
_ output _ synchronize (6) -
block
_ size (11) - blockdev? (62)
- blockquote (22)
- blocks (11)
- call (11)
- cd (6)
- chars (11)
- chdir (6)
-
clock
_ gettime (11) - codepoints (11)
-
collect
_ concat (11) - combination (11)
- complain (11)
-
connect
_ nonblock (22) - cycle (11)
- debug (11)
-
debug
_ output _ exclusive _ unlock (3) -
debug
_ output _ lock (6) -
debug
_ output _ locked? (6) -
debug
_ output _ try _ lock (6) -
debug
_ output _ unlock (6) - define (2)
- deq (22)
-
each
_ char (11) -
each
_ codepoint (11) -
each
_ entry (11) -
each
_ grapheme _ cluster (7) - enq (10)
- enter (11)
-
enum
_ for (11) - error (11)
- fatal (11)
- filter! (6)
-
flat
_ map (11) - flock (22)
- foreach (18)
- get (22)
- getbinaryfile (22)
-
grapheme
_ clusters (7) -
ignore
_ deadlock (3) - info (11)
- initialize (11)
- iterator? (11)
- locked? (28)
-
mon
_ enter (16) -
mon
_ locked? (12) - monitor (11)
-
mu
_ lock (11) -
mu
_ locked? (11) -
mu
_ try _ lock (11) -
mu
_ unlock (11) - new (55)
-
next
_ wait (6) - nonblock (11)
- nonblock? (11)
-
on
_ head (11) -
on
_ tail (11) - out (18)
- owned? (11)
- permutation (11)
- pop (22)
- push (10)
- pushd (6)
- pushdir (6)
- put (22)
- putbinaryfile (22)
-
read
_ nonblock (44) -
recv
_ nonblock (11) -
recvfrom
_ nonblock (22) -
recvmsg
_ nonblock (11) - retrbinary (22)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 3 feature (11) -
ruby 1
. 8 . 5 feature (11) -
ruby 1
. 9 feature (11) -
rubygems
/ commands / lock _ command (11) - select! (11)
-
sendmsg
_ nonblock (11) -
set
_ non _ blocking (11) - shift (22)
- sleep (11)
-
spec
_ path (11) - storbinary (22)
-
sync
_ ex _ locker (6) -
sync
_ lock (6) -
sync
_ locked? (6) -
sync
_ sh _ locker (6) -
sync
_ try _ lock (6) -
sync
_ unlock (6) -
to
_ enum (11) -
to
_ h (32) -
try
_ lock (28) - unknown (11)
- unlock (39)
- warn (11)
-
write
_ nonblock (33) - スレッド (11)
検索結果
先頭5件
-
Net
:: HTTP # lock(path , body , initheader = nil) -> Net :: HTTPResponse (18223.0) -
サーバの path に LOCK リクエストを ヘッダを initheader, ボディを body として送ります。
...サーバの path に LOCK リクエストを
ヘッダを initheader, ボディを body として送ります。
レスポンスを Net::HTTPResponse のオブジェクト
で返します。
@param path リクエストを送るパスを文字列で与えます。
@param body リクエストのボ......ディを文字列で与えます。
@param initheader リクエストのヘッダを「文字列=>文字列」の
ハッシュで与えます。
@see Net::HTTP::Lock... -
Mutex
_ m # lock -> () (18202.0) -
self をロックします。一度にひとつのスレッドしかロックできません。 既にロックされている mutex に対してロックを行おうとしたスレッドは ロックが解放されるまで、実行が停止されます。
self をロックします。一度にひとつのスレッドしかロックできません。
既にロックされている mutex に対してロックを行おうとしたスレッドは
ロックが解放されるまで、実行が停止されます。 -
Sync
_ m # lock(mode = EX) -> self (18202.0) -
ロック状態を変更します。 変更できるまで現在のスレッドの実行をブロックします。
ロック状態を変更します。
変更できるまで現在のスレッドの実行をブロックします。
@param mode 変更後の状態を指定します。
通常、 Sync_m::EX, Sync_m::SH のどれかを指定します。 -
Mutex
# lock -> self (18201.0) -
mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。
...す。
@raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
@see Thread::Mutex#unlock... -
Thread
:: Mutex # lock -> self (18201.0) -
mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。
...す。
@raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
@see Thread::Mutex#unlock... -
File
# flock(operation) -> 0 | false (6314.0) -
ファイルをロックします。
...ックします。
ロックを取得するまでブロックされます。
ロックの取得に成功した場合は 0 を返します。
File::LOCK_NB (ノンブロッキング) を指定すると、本来ならブロックされる場合に
ブロックされずに false を返すようにな......e クラスの親クラスの IO が File::Constants をインクルードしているので、
これらの定数は File::LOCK_SH などとして参照可能です。
: LOCK_SH
共有ロック。複数のプロセスが同時にロックを共有できます。
システムによってはロッ......n("/tmp/foo", "w")
f.flock(File::LOCK_EX)
puts "locked by process1"
fork {
f = File.open("/tmp/foo", "r")
f.flock(File::LOCK_SH)
puts "locked by process2"
sleep 5
puts "unlocked by process2"
}
sleep 5
f.flock(File::LOCK_UN)
puts "unlocked by process1"
sleep 1 # <- 子プロセスが確... -
Process
. # clock _ gettime(clock _ id , unit=:float _ second) -> Float | Integer (6312.0) -
POSIX の clock_gettime() 関数の時間を返します。
...POSIX の clock_gettime() 関数の時間を返します。
例:
p Process.clock_gettime(Process::CLOCK_MONOTONIC) #=> 896053.968060096
@param clock_id クロックの種類を以下の定数のいずれかで指定します。
サポートされている定数は OS やバー......CLOCK_REALTIME
SUSv2 to 4, Linux 2.5.63, FreeBSD 3.0, NetBSD 2.0, OpenBSD 2.1, macOS 10.12
: Process::CLOCK_MONOTONIC
SUSv3 to 4, Linux 2.5.63, FreeBSD 3.0, NetBSD 2.0, OpenBSD 3.4, macOS 10.12
: Process::CLOCK_PROCESS_CPUTIME_ID
SUSv3 to 4, Linux 2.5.63, OpenBSD 5.4, macOS 10.12
: Process::CLOCK......。
CLOCK_REALTIME のオリジンはエポック (1970-01-01 00:00:00 UTC) と定義されています。
しかし、システムによってうるう秒をカウントするかどうかが異なります。
そのため、結果はシステムによって解釈が異なります。
CLOCK_REALTIM... -
Mutex
# try _ lock -> bool (6213.0) -
mutex をロックしようとして、ロックが成功した場合、真を返します。 ロックできなかった場合にはブロックせず偽を返します。
...mutex をロックしようとして、ロックが成功した場合、真を返します。
ロックできなかった場合にはブロックせず偽を返します。
//emlist[例][ruby]{
m = Mutex.new
m.try_lock # => true
m.try_lock # => false
//}... -
Thread
:: Mutex # try _ lock -> bool (6213.0) -
mutex をロックしようとして、ロックが成功した場合、真を返します。 ロックできなかった場合にはブロックせず偽を返します。
...mutex をロックしようとして、ロックが成功した場合、真を返します。
ロックできなかった場合にはブロックせず偽を返します。
//emlist[例][ruby]{
m = Mutex.new
m.try_lock # => true
m.try_lock # => false
//}... -
Mutex
# unlock -> self (6212.0) -
mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
...lock
# critical part
ensure
m.unlock
end
Mutex はロックしたスレッド以外からロックを開放することは出来ません。
ロックしたスレッド以外から unlock が呼ばれると ThreadError が発生します。
m = Mutex.new
m.lock
Thread.new do
m.unlock... -
Thread
:: Mutex # unlock -> self (6212.0) -
mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
...lock
# critical part
ensure
m.unlock
end
Mutex はロックしたスレッド以外からロックを開放することは出来ません。
ロックしたスレッド以外から unlock が呼ばれると ThreadError が発生します。
m = Mutex.new
m.lock
Thread.new do
m.unlock... -
Shell
. debug _ output _ lock -> Mutex (6207.0) -
@todo
...@todo
@see Mutex#lock......@todo
@see Thread::Mutex#lock... -
Shell
. debug _ output _ try _ lock -> bool (6207.0) -
@todo
...@todo
@see Mutex#try_lock......@todo
@see Thread::Mutex#try_lock... -
Mutex
# locked? -> bool (6206.0) -
mutex がロックされている時、真を返します。
...mutex がロックされている時、真を返します。
//emlist[例][ruby]{
m = Mutex.new
m.locked? # => false
m.lock
m.locked? # => true
//}... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (6206.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
...connect_nonblock をリトライするために使うことができます。
# Pull down Google's web page
require 'socket'
include Socket::Constants
socket = Socket.new(AF_INET, SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, 'www.google.com')
begin # emulate blocking connect
s......ocket.connect_nonblock(sockaddr)
rescue IO::WaitWritable
IO.select(nil, [socket]) # wait 3-way handshake completion
begin
socket.connect_nonblock(sockaddr) # check connection failure
rescue Errno::EISCONN
end
end
socket.write("GET / HTTP/1.0\r\n\r\n")
results = socket.r...