from collections import namedtuple import threading import pickle mynamedtuple = namedtuple("mynamedtuple", ("param1","param2")) def picklenamedtuple(param1,param2): print pickle.loads(pickle.dumps(mynamedtuple(param1, param2))) def picklestring(s): print pickle.loads(pickle.dumps(s)) picklenamedtuple("Outside thread","namedtuple") picklestring("Simple string pickle outside thread") t_namedtuple = threading.Thread(target=picklenamedtuple, args=("INSIDE thread", "namedtuple",)) t_string = threading.Thread(target=picklestring, args=("Simple string pickle INSIDE thread.",)) t_namedtuple.start() t_string.start() t_string.join() t_namedtuple.join()