You want to execute a task on a separate thread, and you need to supply certain input parameters.
Create a custom threaded class that incorporates a parameterless method, along with the additional information as member variables.
When you create a Thread object, you must supply a delegate that points to a method without parameters. This causes a problem if you need to pass information to the thread. The easiest solution is to wrap the threaded code and the required information into a single class.
Consider the example where you want to write a large amount of information to a file in the background. You can encapsulate this logic in the task class shown here:
Public Class ...