加载中
Java并发编程高级篇(十):分离任务的执行和结果的处理

在之前的例子中,我们使用执行器框架都是在主类中提交任务,等待任务执行完毕后再去处理任务执行的结果。接下来我们打算将任务的提交和结果的处理都放置到线程中去执行。在每个任务内部提交自...

Java并发编程高级篇(九):在线程之行结束后再做些什么

如果我们想要在线程执行结束后做一些事情,比如生成报表,发送通知邮件或者释放一些系统资源,FutureTask类给于我们最好的支持。 想要实现这种控制方式,我们不能直接把Callable<?>对象直接提...

Java并发编程高级篇(八):在执行器中取消任务

前面我们已经学习如何把任务发送给执行器去执行,但是当我们想要取消一个已经发送给执行器的任务该怎么办呢。可以使用Future对象的cancel()方法。 首先我们创建一个任务线程类,实现Callabl...

Java并发编程高级篇(七):使用执行器周期性地执行任务

我们已经学习了如何利用执行器框架提供的ThreadPoolExecutor类的线程池来执行任务,而不用我们手动去创建线程。同时我们也学习了,如何使用ScheduledThreadPoolExecutor类来延迟执行任务,如...

Java并发编程高级篇(六):在执行器中延时执行任务

执行器框架提供了ThreadPoolExecutor类来执行Runnable和Callable任务。当任务被发送给执行器的时候,执行器会根据俄配合尽可能快地执行任务。但是如果我们不想让任务马上执行,而是想让任务过...

Java并发编程高级篇(五):运行多个任务并处理所有结果

执行器框架给我们提供了一个方法,让我们可以发送给执行器一个任务列表,并等待任务列表中的所有任务执行完毕。然后它将返回一个与任务列表对应的Future列表。 下面我们来看一下这个invokeA...

Java并发编程高级篇(一):使用线程池执行器

使用执行器框架(Executor Framework)的第一步是创建执行器ThreadPoolExecutor对象。我们可以使用ThreadPoolExecutor提供的四个构造函数,或者使用Executors工厂方法来创建线程执行器。一旦有...

Scala学习之类和属性篇(六):对象私有成员变量

在Scala中,使用private关键字修饰的成员变量只可以被这个类的实例访问。也就是说,这个类的任意一个实例都可以访问这个类在任意实例中定义的私有成员变量。 下面这个例子中,isHigher方法就...

Scala学习之类和属性篇(五):getter和setter方法

Scala会根据你定义属性时候使用的关键字:var,val,private来选择是否自动生成getter和setter方法。并且不允许你重写Scala的setter和getter方法。如果你要重写这两个方法你会看到如下编译错...

Scala学习之类和属性篇(三):单例与私有构造函数

我们知道,要想使用单例那么就必须定义私有构造函数来防止从类的外部来创建类的实例。在Scala中你也可以通过private关键字定义类的私有主构造函数来防止从类的外部创建类的实例。 scala> cla...

Scala学习之类和属性篇(二):定义类的辅助构造方法

在Scala中定义主构造函数使用this关键字: 每一个辅助构造函数都需要调用之前定义的任何一个构造函数 每一个辅助构造函数都要有不同的参数表 一个构造函数使用this关键字调用另一个构造函数 ...

Scala学习之字符串篇(七):使用隐式方法来扩展字符串类

通常情况下我们会把一些共用的字符串处理方法封装到一个工具类中,比如StringUtils类。假定我们实现了一个方法increment,它接收一个字符串,然后把字符串中的每一个字符加1,然后返回新的字...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部