- 博客(11)
- 资源 (12)
- 收藏
- 关注
原创 JAVA 并发编程-返回执行结果(Callable和Future)(九)
启动一个线程不论使用Thread或者Runnable的时候,都是没有返回结果的。也就是说Thread和Runnable的run()方法必须没有返回值。 public void run(){} 解决方案: Callable和Future,一个产生结果,一个拿到结果。 简单的来一个实例demo帮助我们理解:public class CallableAndFuture { /** * @pa
2015-07-30 10:12:38 6460 6
转载 JAVA 并发编程-基于线程池设计的ScheduledExecutor(八)
上篇博客《JAVA 并发编程-线程池(七)》中曾介绍到newScheduledThreadPool(intcorePoolSize),创建corePoolSize大小的线程池。此线程池支持定时以及周期性执行任务的需求。 接下来我们一起来分析一下Java中几种任务调度实现与比较 任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。 Timer相信大家都已经非常熟悉jav
2015-07-29 09:08:45 2004 3
原创 JAVA 并发编程-线程池(七)
线程池的作用: 线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。 为什么要用线程池: 1.减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。2.可以根据系统的承受能
2015-07-27 19:21:57 2496 4
原创 JAVA 并发编程-多个线程之间共享数据(六)
多线程共享数据的方式: 1,如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如,卖票系统就可以这么做。2,如果每个线程执行的代码不同,这时候需要用不同的Runnable对象,例如,设计4个线程。,其中两个线程每次对j增加1,另外两个线程对j每次减1,银行存取款 有两种方法来解决此类问题:将共享数据封装成另外一个对象,然后将这个对象逐一传递
2015-07-25 10:09:05 42800 20
原创 JAVA 并发编程-线程范围内共享变量(五)
线程范围内共享变量要实现的效果为: 多个对象间共享同一线程内的变量未实现线程共享变量的demo:package cn.itcast.heima2;import java.util.HashMap;import java.util.Map;import java.util.Random;public class ThreadScopeShareData { private stati
2015-07-23 15:43:54 7789 5
原创 JAVA 并发编程-传统线程同步通信技术(四)
首先介绍几个概念: wait()方法 wait()方法使得当前线程必须要等待,等到另外一个线程调用notify()或者notifyAll()方法。 当前的线程必须拥有当前对象的monitor,也即lock,就是锁。 线程调用wait()方法,释放它对锁的拥有权,然后等待另外的线程来通知它(通知的方式是notify()或者notifyAll()方法),这样它才能重新获得锁的拥有权和恢复执
2015-07-22 11:03:58 2817 4
原创 JAVA 并发编程-传统线程互斥技术(Synchronized)(三)
java线程互斥是为了保证,同一时刻最多只有一个线程执行该段代码。那么它的出现又是为了解决什么问题呢?账户存取款,在同一时间段只能让一个人进行操作。 下面来看一个简单实例(多线程带来的问题):public class TraditionalThreadSynchronized { /** * @param args */ public static void main(String[
2015-07-21 20:44:37 2927 3
原创 JAVA 并发编程-线程创建(二)
对于线程的创建及更加详细的信息可以参看博客《JAVA--线程》,下面是对线程创建的细化及简单再实现。在java中如果要创建线程的话,一般有两种方式:1)继承Thread类;2)实现Runnable接口。 方式一:继承Thread类 MyThread:package com.tgb.hjy;public class MyThread extends Thread{ private Stri
2015-07-21 16:25:22 2633 5
原创 JAVA 并发编程-线程与进程的由来(一)
在学习Java编程之初,我们就接触过Java线程,当时敲过代码也总结过,但是现在看来还是有点缺陷,并没有联系线程的由来来说明问题,只是简单的介绍了什么是进程,什么是线程,以及它们之间的关系-《Java-线程》。今天我们从进程和线程的由来来补充一下之前的总结。参考:http://www.cnblogs.com/dolphin0520/p/3910667.html一.操作系统中为什么会出现进程?说起进
2015-07-09 14:28:40 3440 5
原创 Spring Web Flow 入门demo(三)嵌套流程与业务结合 附源码
上篇博客我们说Spring web Flow与业务结合的方式主要有三种,下面我们主要介绍一下第三种的应用方式 3,执行到 元素SpringWeb Flow 中的这个 是专为执行业务逻辑而设的 state 。如果某个应用的业务逻辑代码既不适合放在transition 中由客户端来触发,也不适合放在 Spring Web Flow 自定义的切入点,那么就可以考虑添加 元素专用于该业务逻辑的执行。更倾
2015-07-03 14:42:49 7001 3
原创 Spring Web Flow 入门demo(二)与业务结合 附源码
第一部分demo仅仅介绍了简单的页面跳转,接下来我们要实现与业务逻辑相关的功能。业务的逻辑涉及到数据的获取、传递、保存,相关的业务功能函数的调用等内容,这些功能的实现都可用Java 代码来完成,但定义 Spring Web Flow 的语法与 Java 是无关的,这就要求 Spring Web Flow 提供与 Java代码的整合机制。要了解这种机制,关键在于搞清楚两个问题: 业务逻辑代码在什么时
2015-07-02 09:54:28 10071 5
Spring Web Flow
2015-07-02
Spring Web Flow CartApp4
2015-06-16
Spring Web Flow CartApp3
2015-06-15
activiti外置表单demo
2015-06-08
Spring IOC实现原理demo
2015-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人