It depends on what sort of "cron" manager you're using, in part.
If you're running Quartz and you have a
servlet that starts up Quartz, add a destroy() method override that shuts down Quartz.
Tomcat won't stop threads started by webapps, but it WILL hang waiting for the webapps to clean themselves up.