What is seeding?
When you start GeoWebCache there are initially no tiles stored on the disk. As clients make requests the disk gets gradually populated with tiles that can then be reused by other clients, improving response times and reducing the load on the WMS server.
But if you have a busy site, or don't want your clients to wait, then you will want to have most tiles ready on the disk when you put GeoWebCache into production. To do this, you use the seeder. The seeder is basically a small program that accepts an area and zoomlevels as the input parameter, and then adds all the tiles that fit these parameters to the cache. Note that the number ot tiles quadruples for every zoomlevel, so while seeding up to zoom level 10 may only take a few minutes, seeding zoom level 16 could take days. GeoWebCache will give you a rough estimate of how long it will take to complete a seed task.
Most people seed the first few zoom level, since these are likely to have a high hit ratio, and let the cache be populated naturally up for higher zoom levels.
You should generally use as many threads as there are cores on the backend server(s). So if the WMS server runs on a dual core machine, you should use 2 to 3 threads.
In addition to adding missing tiles, the seeder can also refresh tiles by requesting new ones from the WMS backend, or truncate existing tiles. These will then be cached again the next time some requests them.
Make sure you do not have overlapping seeding tasks, since they will only overwrite one another's tiles. One way to ensure this is to only run one seed task again each layer.