业务场景
我们现在有一个类似于文件上传的功能,各个子站点接受业务,业务上传文件,各个子站点的文件需要提交到总站点保存,文件是按批次提交到总站点的,也就是说,一个批次下面约有几百个文件。
考虑到白天提交这么多文件会影响到子站点其他系统带宽,我们将分站点的文件提交到总站点这个操作过程独立出来,放到晚上来做,具体时间是晚上7:00到早上7:00。
这个操作过程我们暂且称...
分类:
编程语言 时间:
2014-08-15 19:39:49
阅读次数:
204
java 多线程目录:Java 多线程——基础知识Java 多线程 —— synchronized关键字java 多线程——一个定时调度的例子java 多线程——quartz 定时调度的例子概述第1部分 配置第2部分 代码示例第1部分 配置有关quartz的api文档地址:Quartz Enterp...
分类:
编程语言 时间:
2014-08-15 19:28:09
阅读次数:
421
Java多线程:如何创建线程? 在前面一篇文章中已经讲述了在进程和线程的由来,今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务。下面先讲述一下Java中的应用程序和进程相关的概念知识,然后再阐述如何创建线程以及如何创建进程。下面是本文的目录大纲: 一.Java中关于应用程序和进程相.....
分类:
编程语言 时间:
2014-08-15 17:47:59
阅读次数:
395
Java多线程基础:进程和线程之由来 在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程。当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,需要在实践中不断积累。由于并发肯定涉及到多线程,因此在进入并发编程主题之前,我们先来了解一....
分类:
编程语言 时间:
2014-08-14 13:13:08
阅读次数:
284
说明
Java中,线程之间的通信主要是由java.lang.Object类提供的wait、notify和notifyAll这3个方法来完成:
①对象的wait方法被调用后,线程进入对象的等待队列中,并释放对象锁,其它线程可以竞争使用此对象锁;sleep方法使得一个线程进入睡眠状态,但是线程所占有的资源并没有释放。
②当对象的notify方法被调用,该方法会从对象的等待队列中随机取出一个线...
分类:
编程语言 时间:
2014-08-13 13:05:56
阅读次数:
270
*java多线程--等待唤醒机制:经典的体现"生产者和消费者模型*对于此模型,应该明确以下几点:*1.生产者仅仅在仓库未满的时候生产,仓库满了则停止生产。*2.消费者仅仅在有产品的时候才能消费,仓空则等待。*3.当消费者发现仓储没有产品可消费的时候,会唤醒等待生产者生产。*4.生产者在生产出可以消费...
分类:
编程语言 时间:
2014-08-11 00:02:21
阅读次数:
665
1.wait和notify,notifyAll:wait和notify,notifyAll是Object类方法,因为等待和唤醒必须是同一个锁,不可以对不同锁中的线程进行唤醒,而锁可以是任意对象,所以可以被任意对象调用的方法,定义在Object基类中。wait()方法:对此对象调用wait方法导致本线...
分类:
编程语言 时间:
2014-08-10 01:27:39
阅读次数:
643
Java多线程编程是非常考验一个程序员水平的。传统的WEB程序中,因为框架提供了太多的健壮性、并发性、可靠性的支持,所以我们都是将所有的注意力放到了业务实现上。我们只是按照业务逻辑的要求,不停的积累自己的代码。因为知识,或者是经验的限制,经常出现了问题而不自知。例如,某些比较原始的项目中,并没有使用Spring等相对来说比较灵活健壮的框架。而是仅仅使用Servlet来作为服务端的实现方式。
...
分类:
编程语言 时间:
2014-08-09 21:32:59
阅读次数:
263
死锁:是两个或者两个以上的线程被无限的阻塞,线程之间互相等待所需资源。线程死锁产生的条件:当两个线程相互调用Join()方法。当两个线程使用嵌套的同步代码块的时候,一个线程占用了另一个线程的锁,互相等待阻塞,就有可能产生死锁。下面看代码:代码1:死锁的案例package com.lp.ecjtu.T...
分类:
编程语言 时间:
2014-08-09 13:16:08
阅读次数:
267
1.验证同步函数使用的锁----普通方法使用的锁思路:创建两个线程,同时操作同一个资源,还是用卖票的例子来验证。创建好两个线程t1,t2,t1线程走同步代码块操作tickets,t2,线程走同步函数封装的代码操作tickets,同步代码块中的锁我们可以指定。假设我们事先不知道同步函数用的是什么锁;如...
分类:
编程语言 时间:
2014-08-08 23:50:26
阅读次数:
396