ThreadDict

Inheritance diagram of ThreadDict
class ThreadDict(other=None, read_method=None, write_method=None, timewait=0.1, threaded=True)[source]

Bases: dict

Thread safe dictionary with redefinable read/write methods and a background thread for hardware update. All methods are thread-safe using @self_lock decorator.

Note

any method decorated in this way CANNOT call other decorated methods! All values of the dictionary will be automatically updated in a separate Thread using read_method provided. Any value overwritten in the dict should launch the write_method.

Briefing:

a[2] equals to a[2]=read_method(2)
a[2]=1 equals to a[2]=write_method(2,1)
alive()[source]
append(*args, **kwargs)[source]
copy(*args, **kwargs)
get(*args, **kwargs)[source]
get_last_cycle_start(*args, **kwargs)[source]
get_last_update(*args, **kwargs)[source]
get_timewait(*args, **kwargs)[source]
has_key(*args, **kwargs)
items(*args, **kwargs)
iteritems(*args, **kwargs)
iterkeys(*args, **kwargs)
itervalues(*args, **kwargs)
keys(*args, **kwargs)
pop(*args, **kwargs)
run()[source]
set_last_cycle_start(*args, **kwargs)[source]
set_last_update(*args, **kwargs)[source]
set_timewait(*args, **kwargs)[source]
start()[source]
stop()[source]
threadkeys(*args, **kwargs)[source]
tracer(text)[source]
update(*args, **kwargs)
values(*args, **kwargs)