--- !ruby/object:RI::ClassDescription 
attributes: []

class_methods: []

comment: 
- !ruby/struct:SM::Flow::H 
  level: 1
  text: Transaction::Simple::ThreadSafe
- !ruby/struct:SM::Flow::P 
  body: Thread-safe simple object transaction support for Ruby. Transaction::Simple::ThreadSafe is used in the same way as Transaction::Simple. Transaction::Simple::ThreadSafe uses a Mutex object to ensure atomicity at the cost of performance in threaded applications.
- !ruby/struct:SM::Flow::P 
  body: Transaction::Simple::ThreadSafe will not wait to obtain a lock; if the lock cannot be obtained immediately, a Transaction::TransactionThreadError will be raised.
- !ruby/struct:SM::Flow::P 
  body: Thanks to Mauricio Fernandez for help with getting this part working.
- !ruby/struct:SM::Flow::P 
  body: "Threadsafe transactions can be used in any place that normal transactions would. The main difference would be in setup:"
- !ruby/struct:SM::Flow::VERB 
  body: "  require 'transaction/simple/threadsafe'\n\n  x = &quot;Hello, you.&quot;\n  x.extend(Transaction::Simple::ThreadSafe) # Threadsafe\n\n  y = &quot;Hello, you.&quot;\n  y.extend(Transaction::Simple)             # Not threadsafe\n"
constants: 
- !ruby/object:RI::Constant 
  comment: 
  name: SKIP_TRANSACTION_VARS
  value: "Transaction::Simple::SKIP_TRANSACTION_VARS.dup #:nodoc:"
full_name: Transaction::Simple::ThreadSafe
includes: 
- !ruby/object:RI::IncludedModule 
  name: Transaction::Simple
instance_methods: []

name: ThreadSafe
superclass: 
