java java怎么限制执行时间?
java怎么限制执行时间?
未来类(Java 1.5或更高版本)。如何使用未来类?首先,创建一个新方法并向新方法中添加一个内部方法(类似于内部类)。这个方法可以看作是你想要做的限制运行时间的方法。请记住,应该将方法名更改为call,这与可调用的主根的类型有关。代码如下:
final executorservice Exec=Executors.newFixedThreadPool(1)
callable<string> call=new callable<string>(){
public string call()抛出异常{
//开始耗时的操作线程。睡眠(1000*15)
返回“线程执行完成”
然后将此方法代码调用为
try{
Future<String> Future=执行提交(调用)
字符串对象=未来。获取(1000 * 10, 时间单位.毫秒)//将任务处理超时设置为1秒系统输出打印(“task returned successfully:”obj)}catch(异常E){系统输出打印(”处理失败。“”
e.printstacktrace()]}]//关闭线程池执行关机()
}
记住关闭线程池。
Java如何控制进程执行时间?
任何语言都不能达到控制进程时间的目的!但是可以控制在规定的范围内!通过对系统性能的优化,对操作系统CPU的性能评价,对文件系统的性能评价,就有可能把进程时间控制在一定的范围内
!语言可以捕获CPU信息,控制磁盘信息的线程数,达到控制进程所消耗时间的目的!如果CPU是单核的,关闭多线程操作可以节省时间。如果线程之间没有调度,将节省大量时间。多核CPU使用多线程来指定任务,这将大大提高CPU利用率和节省时间!此线程优化可以确保进程时间控制在指定范围内
!系统所在的进程可分为两种类型:一种是CPU密集型。如上所述,它是CPU密集型的。线程主要用于计算。因此,线程消耗的时间是在CPU计算中。为了控制时间,我们必须考虑CPU的性能!二是I/O密集型,即系统需要大量的输入输出写操作,CPU利用率不高,大部分都是磁盘读写、套接字读写操作,Java可以采用多线程/NiO/高并发的方式来处理IO密集型任务,缩短时间
!不可能完全控制时间。我们只能根据硬件进行优化!
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。