Question: How to implement multi-threading in visual basic 6.0. It would be great if someone can give an example.

Answer: 
On several projects I have implemented asynchronous processing in VB6 using multiple processes. Basically having a worker thread within an active exe project that is separate from the main process. The worker exe can then be passed whatever data it needs and started, raising back an event to say it's finished or there is data for the main process.

It's a more resource hungry (an extra process rather than a thread) but VB6 is running in a single threaded apartment and doesn't have any built in support for starting new threads. 

If you really need to have multiple threads within one process I'd suggest looking at using .net or VC6 rather than VB6.
You can use the Interop Forms Toolkit 2.0 for multithreading in VB6. The Toolkit 
allows you to take advantage of .NET features without being forced onto an upgrade pat. Thus you can also use .NET User Controls as ActiveX controls in VB6.