线程execute方法什么意思
答案:2 悬赏:10 手机版
解决时间 2021-03-16 11:37
- 提问者网友:战魂
- 2021-03-16 06:24
线程execute方法什么意思
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-03-16 07:32
queue就是个阻塞队列,add方法是往里面塞东西,不成功抛异常。
通常会用push,和add的区别是不成功则等待。
executor是任务执行器,execute是执行个任务(Runnable接口)的。内部会新建个线程或重用个线程等方式来执行这个任务。
通常推荐用ExecutorService的submit方法来拿结果处理异常等。
这两个东西没多大关系,谈区别也只能说:“它们是两种不同的东西?!”
另外,ThreadPoolExecutor 这个类属于底层实现类,实际使用过程中推荐用Executors这个工厂类来获得实例,不推荐直接使用。
当然如果你是学习目的,那就可以无视推荐了。
关于CPU,理想效果是所有CPU都干活(如果这台机器专门跑这个程序的话)。
但貌似不同系统,线程和系统进程之间的关系比较复杂,可能只能调调试试了吧。
最大值应该是不要超过实际CPU数量来着...
通常会用push,和add的区别是不成功则等待。
executor是任务执行器,execute是执行个任务(Runnable接口)的。内部会新建个线程或重用个线程等方式来执行这个任务。
通常推荐用ExecutorService的submit方法来拿结果处理异常等。
这两个东西没多大关系,谈区别也只能说:“它们是两种不同的东西?!”
另外,ThreadPoolExecutor 这个类属于底层实现类,实际使用过程中推荐用Executors这个工厂类来获得实例,不推荐直接使用。
当然如果你是学习目的,那就可以无视推荐了。
关于CPU,理想效果是所有CPU都干活(如果这台机器专门跑这个程序的话)。
但貌似不同系统,线程和系统进程之间的关系比较复杂,可能只能调调试试了吧。
最大值应该是不要超过实际CPU数量来着...
全部回答
- 1楼网友:神鬼未生
- 2021-03-16 07:40
在java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆api了。在java5以后,通过 executor来启动线程比用thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特 性。
一、创建任务
任务就是一个实现了runnable接口的类。
创建的时候实run方法即可。
二、执行任务
通过java.util.concurrent.executorservice接口对象来执行任务,该接口对象通过工具类java.util.concurrent.executors的静态方法来创建。
executors此包中所定义的executor、executorservice、scheduledexecutorservice、threadfactory 和callable 类的工厂和实用方法。
executorservice提供了管理终止的方法,以及可为跟踪一个或多个异步任务执行状况而生成 future 的方法。 可以关闭 executorservice,这将导致其停止接受新任务。关闭后,执行程序将最后终止,这时没有任务在执行,也没有任务在等待执行,并且无法提交新任务。
executorservice.execute(new testrunnable());
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯