多线程callable 本帖最后由 xuejia11 于 2011-11-17 15:55:45 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 个人愚见: 你用多线程的方式调用它肯定是效率高,用一般的调用虽然也可以,但是就跟多线程没有意义了,这样的话,你用Callable还有什么意义呢。 callable一般是作为异步调用的响应,如果不要异步调用,那也用不着这个了。 那么,这么说来,如果我直接调用call方法,普通类会比callable更好一些是吗? 楼主首先明白并发和并行的区别;再说,执行性能一般牵涉到时间和空间(主要是占用系统资源的大小)两方面,楼主可能关注的是时间方面;还有,与运行程序的硬件环境密切相关;等等。假设执行一个任务(就是Callable)时间固定(不考虑其它,执行时,完全占用CPU直到任务执行完),那么很明显,在双核(多核)和单核机器上,使用线程和不使用线程,执行效率就会有明显的不同,不使用线程(就是直接new对象,调用call()方法或后面那种改法)就只能利用一半的CPU资源了; 问题是 你直接调用 call 就不是多线程了 你这样直接call根本就不是多线程 偶没搞明白什么是ExecutorService就来谈这个,会让人BS的什么是线程,不解释,自己翻书什么是线程池,是预先定义一批线程用来执行任务而你的线程对象作为单独的任务提交给线程池,由线程池委托给执行线程调用调用完成以后,执行线程转入等待状态等待下一个多线程任务的进入这也就是线程池和申明新线程的根本区别 java怎么提高…… 类与对象 如何为JButton控件数组写响应的事件 java获取键盘方向键的方法 写了一个图形界面的单机程序,怎么脱离eclipse启动阿? 如何将查询结果放入到String内? 小弟请教高手?? tomcat 在局域网内访问 我用jbuider x 连接sql server,出现错误,请各位指教。多谢! (讨论)大家来谈谈java容器的用途(Collection、Set、Map) 动态添加component的反应迟缓问题 调用repaint函数 swt/jface项目发布成产品
你用多线程的方式调用它肯定是效率高,用一般的调用虽然也可以,但是就跟多线程没有意义了,这样的话,你用Callable还有什么意义呢。
再说,执行性能一般牵涉到时间和空间(主要是占用系统资源的大小)两方面,楼主可能关注的是时间方面;
还有,与运行程序的硬件环境密切相关;
等等。假设执行一个任务(就是Callable)时间固定(不考虑其它,执行时,完全占用CPU直到任务执行完),那么很明显,在双核(多核)和单核机器上,使用线程和不使用线程,执行效率就会有明显的不同,不使用线程(就是直接new对象,调用call()方法或后面那种改法)就只能利用一半的CPU资源了;
什么是线程,不解释,自己翻书
什么是线程池,是预先定义一批线程用来执行任务
而你的线程对象作为单独的任务提交给线程池,由线程池委托给执行线程调用
调用完成以后,执行线程转入等待状态等待下一个多线程任务的进入这也就是线程池和申明新线程的根本区别