在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。
这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。
如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。
而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务...
分类:
编程语言 时间:
2015-06-01 13:20:53
阅读次数:
206
Java多线程对我来说一直是个高级而且神秘的东西,那么今天有幸也正好有时间讲解一下Java的多线程。
首先线程的概念及定义就不说了
1.创建线程三种方式:1.继承Thread 2.实现Runnable接口 3.实现Callable接口
继承Thread
public class FirstThread extends Thread{
private int i;
public vo...
分类:
编程语言 时间:
2015-05-27 10:14:43
阅读次数:
217
由于最近工作遇到性能问题,尝试研究用多线程来实现,结果速度快了好几倍
下面是多线程查询的部分代码,提供给大家参考下:
线程类:
带返回值的类要实现Callable接口,具体业务逻辑没有实现,只是写了个空方法在里面
package com.sanfy.demo.thread;
import java.util.List;
import java.util.Map;
import jav...
分类:
编程语言 时间:
2015-05-22 13:31:08
阅读次数:
233
1,设置sessio保存形式: ? ??[Session] ? ? session.save_handler?=?files ? ? 对应php函数:bool?session_set_save_handler?(callable?$open?,?callable?$close?,callable?$read?,callable$w...
分类:
其他好文 时间:
2015-05-21 22:48:13
阅读次数:
260
6.1创建函数函数是可以调用(可能包含参数,也就是放在圆括号中的值),它执行某种行为并且返回一个值。一般来说,内建的callable函数可以用来判断函数是否可调用:>>> x=1>>> y=math.sqrt>>> callable(x)False>>> callable(y)True定义函数用de...
分类:
编程语言 时间:
2015-05-21 08:58:36
阅读次数:
167
Future模式 Future接口是Java线程Future模式的实现,可以来进行异步计算。 Future模式可以这样来描述: 我有一个任务,提交给了Future,Future替我完成这个任务。期间我自己可以去做任何想做的事情。一段时间之后...
分类:
编程语言 时间:
2015-05-18 16:57:37
阅读次数:
229
在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。现在Java终于有可返回值的任务(也可以叫做线程)了。可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。执行Callable任务后,可以获...
分类:
编程语言 时间:
2015-05-17 15:11:31
阅读次数:
164
public class Main {
public static class MyCallable implements Callable{
public Integer call() throws Exception {
return 1;
}
}
public static void main(String[] args) {
MyCallable callable=new M...
分类:
编程语言 时间:
2015-05-16 06:49:43
阅读次数:
234
内容:在Java中利用Callable进行带返回结果的线程计算,利用Future表示异步计算的结果,分别计算不同范围的Long求和,类似的思想还能够借鉴到需要大量计算的地方。
public class Sums {
public static class Sum implements Callable {
private final Long from;
private fi...
分类:
编程语言 时间:
2015-05-16 01:33:29
阅读次数:
149
public class Main {
public static class MyCallable implements Callable{
public Integer call() throws Exception {
return 1;
}
}
public static void main(String[] args) {
MyCallable callable...
分类:
编程语言 时间:
2015-05-15 10:46:57
阅读次数:
123