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

class chapman :

def __init__(self,emiter) :

self.emiter = emiter

def connect(self,signal,func) :

self.emiter.connect(signal,func)

k = knight()

c = chapman(k)

tv = tv_speaker(c)

k.emit("chicken","different")

k.emit("chicken","random")