最新文章列表

Java线程:新特征-有返回值的线程

Java线程:新特征-有返回值的线程   在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。   现在Java终于有可返回值的任务(也可以叫做线程)了。   可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。   执行Callable任务后,可以获取一个Future的对象, ...
xuedong 评论(0) 有748人浏览 2011-08-04 18:41

Java线程:新特征-线程池

Java线程:新特征-线程池   Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。   有关Java5线程新特征的内容全部在java.util.concurrent下面,里面包含数目众多的接口和类,熟悉这部分 ...
xuedong 评论(0) 有865人浏览 2011-08-04 18:40

Java线程:volatile关键字

Java线程:volatile关键字   Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。   谈及到volatile关键字,不得不提的一篇文章是:《Java 理论与实践: 正确使用 Volatile 变量》,这篇文 ...
xuedong 评论(0) 有730人浏览 2011-08-04 18:39

Java线程:并发协作-死锁

Java线程:并发协作-死锁   线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。   发生死锁的原因一般是两个对象的锁相互等待造成的。   在《Java线程:线程的同步与锁》一文中,简述死锁的概念与简单例子,但是所给的例子是不完整的,这里给出一个完整的例子。   /** * Java线程:并发协作-死锁 * * @author A ...
xuedong 评论(0) 有648人浏览 2011-08-04 16:56

Java线程:并发协作-生产者消费者模型

Java线程:并发协作-生产者消费者模型   对于多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的。就像学习每一门编程语言一样,Hello World!都是最经典的例子。   实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。 对于此模型,应该明确一下几点: 1、生产者仅仅在仓储未满时候生产,仓满则停止生产。 2、消费者仅 ...
xuedong 评论(0) 有727人浏览 2011-08-04 16:18

Java线程:线程的同步-同步块

Java线程:线程的同步-同步块   对于同步,除了同步方法外,还可以使用同步代码块,有时候同步代码块会带来比同步方法更好的效果。   追其同步的根本的目的,是控制竞争资源的正确的访问,因此只要在访问竞争资源的时候保证同一时刻只能一个线程访问即可,因此Java引入了同步代码快的策略,以提高性能。   在上个例子的基础上,对oper方法做了改动,由同步方法改为同步代码块模式,程序的执行逻辑 ...
xuedong 评论(0) 有804人浏览 2011-08-04 16:11

Java线程:线程的同步-同步方法

Java线程:线程的同步-同步方法   线程的同步是保证多线程安全访问竞争资源的一种手段。 线程的同步是Java多线程编程的难点,往往开发者搞不清楚什么是竞争资源、什么时候需要考虑同步,怎么同步等等问题,当然,这些问题没有很明确的答案,但有些原则问题需要考虑,是否有竞争资源被同时改动的问题?   在本文之前,请参阅《Java线程:线程的同步与锁》,本文是在此基础上所写的。   对于同步 ...
xuedong 评论(0) 有832人浏览 2011-08-04 16:07

Java线程之守护线程(Daemon)

守护线程(Daemon) Java有两种Thread:“守护线程Daemon”与“用户线程User”。 我们之前看到的例子都是用户,守护线程是一种“在后台提供通用性支持”的线程,它并不属于程序本体。 从字面上我们很容易将守护线程理解成是由虚拟机(virtual machine)在内部创建的,而用户线程则是自己所创建的。事实并不是这样,任何线程都可以是“守护线程Daemon”或“用户线程Use ...
xuedong 评论(0) 有779人浏览 2011-08-03 17:45

Java线程:线程的调度-守护线程

Java线程:线程的调度-守护线程   守护线程与普通线程写法上基本么啥区别,调用线程对象的方法setDaemon(true),则可以将其设置为守护线程。   守护线程使用的情况较少,但并非无用,举例来说,JVM的垃圾回收、内存管理等线程都是守护线程。还有就是在做数据库应用时候,使用的数据库连接池,连接池本身也包含着很多后台线程,监控连接个数、超时时间、状态等等。   setDaemon ...
xuedong 评论(0) 有1081人浏览 2011-08-03 17:38

Java线程:线程的调度-合并

Java线程:线程的调度-合并   线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。   join为非静态方法,定义如下: void join()        等待该线程终止。    void join(long millis)        等待该线程终止的时间最长为 millis 毫秒。 ...
xuedong 评论(0) 有768人浏览 2011-08-03 17:35

Java线程:线程的调度-让步

Java线程:线程的调度-让步   线程的让步含义就是使当前运行着线程让出CPU资源,但是然给谁不知道,仅仅是让出,线程状态回到可运行状态。   线程的让步使用Thread.yield()方法,yield() 为静态方法,功能是暂停当前正在执行的线程对象,并执行其他线程。   /** * Java线程:线程的调度-让步 * * @author leizhimin 2009-11-4 ...
xuedong 评论(0) 有887人浏览 2011-08-03 17:26

Java线程:线程的调度-优先级

Java线程:线程的调度-优先级   与线程休眠类似,线程的优先级仍然无法保障线程的执行次序。只不过,优先级高的线程获取CPU资源的概率较大,优先 ...
xuedong 评论(0) 有817人浏览 2011-08-03 17:24

Java线程:线程的调度-休眠

Java线程:线程的调度-休眠   Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。   这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而不能做到精准控制。   线程休眠的目的是使线程让出CPU的最简单的做法之一,线程休眠时候,会将CPU资源交给其他线程,以便能轮换执行,当休眠一定时间后,线程会苏醒,进入准 ...
xuedong 评论(0) 有1137人浏览 2011-08-03 17:20

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics