最新文章列表

Java多线程

一、多线程简介   对于Java而言,可以在一个程序中并发地启动多个线程,让这些线程在多处理器上同时运行。在单处理器系统中,多个线程共享CPU时间称为时间共享,而操作系统负责调度及分配资源给它们,即使是单处理器,多线程程序的运行速度也比单线程程序更快。   当程序作为一个应用程序运行时,Java解释器为main方法启动一个线程。当程序作为一个applet运行时,Web浏览器启动一个线程来运行appl ...
ccii 评论(0) 有1038人浏览 2014-04-28 18:56

ThreadLocal与线程安全

首先来看一下线程安全问题产生的两个前提条件:  1.数据共享,多个线程访问同样的数据。  2.共享数据是可变的,多个线程对访问的共享数据作出了修改。    实例:         定义一个共享数据: public static int a = 0;         多线程对该共享数据进行修改:  private static void plus() { for (int ...
bijian1013 评论(0) 有1040人浏览 2014-04-04 21:27

java多线程面试 - 多线程求和

        今天面试过程中碰到一个简单的多线程面试题目,竟然一时钻了牛角尖,没有回答上来,结束面试立刻醒悟过来,想想真丢人。           面试题目如下:如何多线程计算 1+2+3+……n,其中n是一个很大的数值,不使用直接的求职公式。           因为总是碰到类似于计数器的问题,(多个线程进行计数),所以思路不自觉的就转到了计数器的处理思路上去了:设置多个线程共享的一 ...
liqianglv2005 评论(0) 有6521人浏览 2014-03-06 01:40

JAVA多线程

本篇文章介绍Java多线程的必备知识,主要包括以下三个方面: 什么是线程,什么是进程? 线程和进程有什么区别? 线程启动(两种方式,并举例对比说明)        应用篇( 以考试系统为例) 什么是线程,什么是进程?        线程是一个程序内部的顺序控制流,运行中的程序就是进程,进程是静态的。    
crazylife 评论(0) 有532人浏览 2014-03-04 17:16

Java多线程专题,从入门到精通,让你快速全面掌握JAVA多线程技术

下面是Java线程系列博文的一个编目: Java线程(1):概念与原理 Java线程(2):创建与启动 Java线程(3):线程栈模型与线程的变量 Java线程(4):线程状态的 ...
lk557 评论(1) 有4375人浏览 2013-12-13 12:59

java多线程

java多线程编程总结 http://lavasoft.blog.51cto.com/62575/27069
lichaobao 评论(0) 有442人浏览 2013-12-06 12:28

java多线程-GuardedSuspension保护暂停模式

      写在前面的话:假设一种情景,假设你在家里换衣服,这个时候有顺风快递员在门外敲门,你会说等一下,换完衣服你去开门。假设你换衣服是一个线程,顺风快递员把东西送到你的手机是另一个线程,很明显后者线程要目的达到需要前者线程的执行完的条件,这个“保护暂停模式”就是应这样的需求而生。 下面是实例程序: 涉及类及作用介绍: 1,Request:用来表示请求的类。 2,RequestQueue:依次存 ...
Supanccy2013 评论(0) 有623人浏览 2013-08-25 19:08

Java多线程 - (二) 线程同步synchronized和volatile

一、可能带来死锁的Synchrionized   先用代码来展示下线程同步的问题: /** * */ package com.wsheng.thread.synchronize; /** * @author Wang Sheng(Josh) * */ public class ThreadSynchronized { public static ...
Josh_Persistence 评论(0) 有5460人浏览 2013-08-13 13:42

java多线程-等待所有线程执行结束后再继续执行主线程

CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 主要方法  public CountDownLatch(int count);  public void countDown();  public void await() throws InterruptedException  构造方法参数指定了计数的次数 coun ...
zjwlonger 评论(0) 有1373人浏览 2013-08-08 21:36

不使用synchronized模拟Single Threaded Execution Pattern

public class Gate { private int counter = 0; private String name = "Nobody"; private String address = "Nowhere"; private final Mutex mutex = new Mutex(); p ...
daichangfu 评论(0) 有838人浏览 2013-07-15 22:28

单例模式中的多线程分析

谈到单例模式,我们立马会想到饿汉式和懒汉式加载,所谓饿汉式就是在创建类时就创建好了实例,懒汉式在获取实例时才去创建实例,即延迟加载。 饿汉式: package com.bijian.study; public class Singleton { private Singleton() { } // 注意这是private 只供内部调用 private stati ...
bijian1013 评论(0) 有1545人浏览 2013-05-27 13:26

多线程编程一般规则

       如果两个工两个以上的线程都修改一个对象,那么把执行修改的方法定义为被同步的,如果对象更新影响到只读方法,那么只读方法也要定义成同步的。        不要滥用同步。如果在一个对象内的不同的方法访问的不是同一个数据,就不要将方法设置为synchronized的。        如果一个线程必须等待一个对象状态发生变化,那么他应该在对象内部等待,而不是在外部。他可以通过调用一个被同 ...
bijian1013 评论(0) 有1414人浏览 2013-05-27 13:02

线程组

有些程序包含了相当数量的线程。这时,如果按照线程的功能将他们分成不同的类别将很有用。        线程组可以用来同时对一组线程进行操作。        创建线程组:ThreadGroup g = new ThreadGroup(groupName);        将各个线程添加给该线程组:Thread t = new Thread(g,threadName);        要中断某 ...
bijian1013 评论(0) 有1218人浏览 2013-05-27 13:01

线程优先级

多线程运行时需要定义线程运行的先后顺序。 线程优先级是用数字表示,数字越大线程优先级越高,取值在1到10,默认优先级为5。 实例: package com.bijian.study; /** * 因为在代码段当中把线程B的优先级设置高于线程A,所以运行结果先执行线程B的run()方法后再执行线程A的run()方法 * 但在实际中,JAVA的优先级不准,强烈不建议用此方法来控制 ...
bijian1013 评论(0) 有1841人浏览 2013-05-27 13:00

线程的调度

1.       Java提供一个线程调度程序来监控程序中启动后进入可运行状态的所有线程。线程调度程序按照线程的优先级决定应调度哪些线程来执行。   2.       多数线程的调度是抢占式的(即我想中断程序运行就中断,不需要和将被中断的程序协商) a)         时间片方式(time slicing) b)        非时间片方式   3.       下面几种情况下,当 ...
bijian1013 评论(0) 有1715人浏览 2013-05-25 16:33

Java多线程入门

 一.线程的概念模型 a.虚拟的CPU,由java.lang.Thread类封装和虚拟 b.CPU所执行的代码,传递给Thread类对象 c.CPU所处理的数据,传递给Thread类对象      二.线程体 Java
bijian1013 评论(0) 有2008人浏览 2013-05-25 16:22

线程的状态

1.线程共有下面4种状态: a.       new(新建):当你用new创建一个线程时,该线程尚未运行。 b.       runnable(可运行):一旦调用了start方法,该线程便是一个可运行的线程。可运行的线程可以尚未执行,也可以正在执行,取决于线程调度的结果。(JAVA文档并不将正在运行的情况视为一个专门的状态) c.       blocked(
bijian1013 评论(0) 有1507人浏览 2013-05-25 12:35

深入学习Thread类

一.             线程的名字 下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。 同时,Thread类还提供相应的构造方法,让Thread类的对象在创建的时候就有一个名字。构造方法如下: a.Thread(St ...
bijian1013 评论(0) 有1430人浏览 2013-05-25 12:28

多线程基础知识

一.进程和线程 进程就是一个在内存中独立运行的程序,有自己的地址空间。如正在运行的写字板程序就是一个进程。 “多任务”:指操作系统能同时运行多个进程(程序)。如WINDOWS系统可以同时运行写字板程序、画图程序、WORD、Eclipse等。 线程:是进程内部单一的一个顺序控制流。 线程和进程 a.       每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大。 b.  ...
bijian1013 评论(0) 有1542人浏览 2013-05-25 12:25

最近博客热门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