(1)普通浏览器和网络服务(现在写的网络是帮你完成线程控制的中间部件),网络处理请求,各种专用服务器(比如游戏服务器)
(2)servlet多线程。
(3)ftp下载,多线程操作文件。
(4)数据库中使用的多线程。
(5)tomcat、tomcat内部采用多线程,数百个客户端访问同一web应用程序,tomcat访问后,将后续处理投入新的线程进行处理,该新的线程最后调用我们的servlet程序
(6)后台任务:例如,定期向大量(100w以上)用户发送邮件;定期更新配置文件和任务调度(如quartz),一些监控用于定期收集信息。
(7)自动操作处理:如定期备份日志,定期备份数据库等。
2、实例
等待超时模式。
开发人员经常用这种方法调用场景。调用一种方法时等待一段时间(一般是给定时间段),如果该方法能在给定时间段内得到结果,则立即返回结果,相反,超时返回默认结果。
一个简单的数据库连接池实例。
//java.sql.connection是一个接口,最终的实现是由数据库驱动提供方来实现。//我们通过动态代理构造一个connection,仅仅用于示范。public class connectiondriver {//动态代理的处理器类static class connectionhandler implements invocationhandler{@overridepublic object invoke(object proxy, method method, object[] args) throws throwable {thread.sleep(100);return null;}}//创建一个connection的代理,在commit时休眠100毫秒public static final connection createconnection(){return (connection)proxy.newproxyinstance(connectiondriver.class.getclassloader(),new class<?>[]{connection.class}, new connectionhandler());}}
以上就是java多线程的使用及实现方法的详细内容。
