#Simple example python program that send a signal between two threads import gobject import threading import time class knight(gobject.GObject): __gsignals__ = { 'chicken': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (str,)) } def __init__(self) : #Call super() gobject.GObject.__init__(self) #Do your initialization here #This is only an example a = None class tv_speaker : def __init__(self,emiter) : self.emiter = emiter self.emiter.connect("chicken",self.do) def do(self,param1,param2) : print "receiving the chicken on the head : my brain hurt" time.sleep(2) print "And now for something completely %s" %param2 k = knight() tv = tv_speaker(k) k.emit("chicken","different") k.emit("chicken","random")