parameters: (self, *args)
return_statement: return mythread
docstring: This is like put_campaign, but returns immediately,
          doing server communications in a background thread.
docstring_summary: This is like put_campaign, but returns immediately,
          doing server communications in a background thread.
docstring_tokens: This is like put_campaign but returns immediately doing server communications in a background thread .
function: def put_campaign_async(self, *args):
          """
          This is like put_campaign, but returns immediately,
          doing server communications in a background thread.
          """
          class MyThread(threading.Thread):
              def __init__(self, name, cs, args):
                  threading.Thread.__init__( self, name=name )
                  self.name = name
                  self.cs = cs
                  self.args = args
                  self.data = None
  
                  self.event = threading.Event()
  
              def run(self):
                  self.data = self.cs.put_campaign(*self.args)
                  self.event.set()
  
              def cancel(self):
                  self.data = None
                  self.event.set()
                  self.cs.async_cancel()
  
          mythread = MyThread(args[1], self, args)
          mythread.start()
  
          return mythread
function_tokens: def put_campaign_async ( self , * args ) : class MyThread ( threading . Thread ) : def __init__ ( self , name , cs , args ) : threading . Thread . __init__ ( self , name = name ) self . name = name self . cs = cs self . args = args self . data = None self . event = threading . Event ( ) def run ( self ) : self . data = self . cs . put_campaign ( * self . args ) self . event . set ( ) def cancel ( self ) : self . data = None self . event . set ( ) self . cs . async_cancel ( ) mythread = MyThread ( args [ 1 ] , self , args ) mythread . start ( ) return mythread