« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
戒除浮躁,读好书,交益友 |
Blog信息 |
blog名称:邢红瑞的blog 日志总数:523 评论数量:1142 留言数量:0 访问次数:9692163 建立时间:2004年12月20日 |

| |
[java语言]java 多线程的某些问题 原创空间, 软件技术, 电脑与网络
邢红瑞 发表于 2006/7/21 12:12:46 |
1 最好使用线程池 ExecutorService executorService = Executors.newFixedThreadPool(200);不要使用newCachedThreadPool,创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们。容易出现ava.lang.OutOfMemoryError: unable to create new native thread at java.lang.Thread.start0(Native Method)2.尽量使用shutdown,因为有时候future 可以返回,但是最好使用shutdown。void shutdown()启动一次顺序关闭,执行以前提交的任务,但不接受新任务。如果已经关闭,则调用没有其他作用。
抛出: SecurityException - 如果安全管理器存在并且关闭,此 ExecutorService 可能操作某些不允许调用者修改的线程(因为它没有保持 RuntimePermission("modifyThread")),或者安全管理器的 checkAccess 方法拒绝访问。如果写applet和Applet,使用sun的沙箱,出现java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThread) rmi加入permission java.lang.RuntimePermission "shutdownHooks";permission java.lang.RuntimePermission "modifyThread"; |
|
|