加载中
Java并发编程高级篇(十一):执行器之处理被拒绝的任务

我们知道在调用执行器的shutdown()方法后,再向执行器提交任务会被拒绝。执行器框架为我们提供了一个类RejectedExecutionHandler,来让我们自定义一些被拒绝任务的处理逻辑。 首先实现自定义...

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

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

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

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

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

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

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

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

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

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

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

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

2017/03/02 09:34
1.2K
Java并发编程高级篇(四):运行多个任务并处理第一个结果

接下来,我们来模拟一个用户验证过程,提供两种验证机制,任何一种验证机制验证成功即可通过验证,而不用等两种验证机制都验证成功。 创建UserValidator类,它通过休眠一个随机时间来模拟用户...

Java并发编程高级篇(三):执行器中执行任务并返回结果

执行器框架的优质之一是可以并发地执行任务,并将任务执行结果返回。要想实现这个功能,需要JDK中的两个接口。 Callable:这个接口带有一个call()方法,你可以在这个方法里面实现任务执行逻辑...

Java并发编程高级篇(二):使用固定大小线程执行器

使用Executors工厂类的newCachedThreadPool方法来创建的线程执行器,当执行器碰到没有可用线程的时候,执行器就会创建新的线程。这样,当大量的任务加入到线程执行器,就会造成系统超负荷运行...

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

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

2017/02/28 14:50
343
Scala学习之类和属性篇(六):对象私有成员变量

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

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

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

2016/12/10 14:55
4.7K
Scala学习之类和属性篇(四):带有默认值的构造函数

在Scala中允许你给构造函数参数提供一个默认值,那么当你不指定参数值的时候那么构造函数就会使用默认值。 scala> class Socket(val timeout: Int = 10000) defined class Socket scala> v...

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

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

2016/12/09 18:01
325
Scala学习之类和属性篇(二):定义类的辅助构造方法

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

Scala学习之类和属性篇(一):定义类的主构造方法

在Scala中直接在类名后面跟上参数,即可定义类的主构造方法。 scala> :paste // Entering paste mode (ctrl-D to finish) class Person(var firstName: String, var lastName:String) { ...

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

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

2016/12/08 15:22
245

没有更多内容

加载失败,请刷新页面

返回顶部
顶部