
多线程相关
文章平均质量分 72
bieleyang
这个作者很懒,什么都没留下…
展开
-
Java中的锁
在学习或者使用Java的过程中进程会遇到各种各样的锁的概念:公平锁、非公平锁、自旋锁、可重入锁、偏向锁、轻量级锁、重量级锁、读写锁、互斥锁等待。这里整理了Java中的各种锁,若有不足之处希望大家在下方留言探讨。公平锁和非公平锁公平锁是指多个线程在等待同一个锁时,必须按照申请锁的先后顺序来一次获得锁。公平锁的好处是等待锁的线程不会饿死,但是整体效率相对低一些;非公平锁的好处是整体效率相对转载 2017-08-31 17:02:27 · 353 阅读 · 0 评论 -
线程的生命周期
1.线程的生命周期线程是一个动态执行的过程,它也有一个从产生到死亡的过程。(1)生命周期的五种状态 新建(new Thread)当创建Thread类的一个实例(对象)时,此线程进入新建状态(未被启动)。例如:Thread t1=new Thread();就绪(runnable)线程已经被启动,正在等待被分配给CPU时间片,也就是说此时线程正在就绪队列中排队等候得到原创 2017-08-03 20:10:37 · 402 阅读 · 0 评论 -
java创建线程的四种方式
参考自:http://blog.youkuaiyun.com/longshengguoji/article/details/41126119Java创建线程的三种方式1. 继承Thread类创建线程类[java] view plain copy package com.thread; public class FirstThreadTest exten原创 2017-07-06 16:57:50 · 452 阅读 · 0 评论 -
Java多线程-实例解析
Java多线程实例 3种实现方法Java中的多线程有三种实现方式:1.继承Thread类,重写run方法。Thread本质上也是一个实现了Runnable的实例,他代表一个线程的实例,并且启动线程的唯一方法就是通过Thread类的start方法。2.实现Runnable接口,并实现该接口的run()方法.创建一个Thread对象,用实现的Runnable接口的对象作为参数实例化Thre原创 2017-08-17 20:28:58 · 311 阅读 · 0 评论 -
面经
java中用new创建一个对象的过程解析对于用new 创建一个对象,我们需要弄清楚它的过程:引用和创建一个对象的格式是:类名 变量名;变量名=new 类名(参数列表);比如 Vehicle veh1=new Vehicle();这个语句具体的执行过程是:1.右边的“new vheicle"是以vehicle类为模板,在堆空间里创建一个vehicle类对象原创 2017-09-21 11:56:55 · 847 阅读 · 0 评论 -
Netty
Netty是什么? 本质:JBoss做的一个Jar包 目的:快速开发高性能、高可靠性的网络服务器和客户端程序 优点:提供异步的、事件驱动的网络应用程序框架和工具 通俗的说:一个好使的处理Socket的东东 如果没有Netty? 远古:java.net + java.io 近代:java.nio 其他:Mina,Grizzly转载 2017-09-21 09:39:52 · 430 阅读 · 0 评论 -
Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 —转载 2017-09-02 22:48:32 · 365 阅读 · 0 评论 -
Java多线程总结之线程安全队列Queue
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安全的类 ,指的是类内共享的全局变量的转载 2017-09-19 10:21:54 · 70925 阅读 · 1 评论 -
生产者/消费者模式(阻塞队列) 一个经典的并发模型
生产消费者模式也是关于线程阻塞的问题,生产消费者模式是通过观察者模式来实现的。之前在编写一个通讯软件的时候用到了这种模式,通过维护一个BlockingQueue来完成Socket的消息发送,后来读书时看到在服务器开发时三层模型中的Service层在调用Dao层的时候也是通过这种模式来调用的,具体怎么使用的还没有具体实践过,期待后面可以有机会练习这一块。实际的软件开发过程中,经常会碰到如下场景:转载 2017-09-18 23:06:23 · 2061 阅读 · 0 评论 -
JAVA CAS原理深度分析
看了一堆文章,终于把JavaCAS的原理深入分析清楚了。感谢GOOGLE强大的搜索,借此挖苦下百度,依靠百度什么都学习不到! 参考文档:http://www.blogjava.NET/xylz/archive/2010/07/04/325206.htmlhttp://blog.hesey.net/2011/09/resolve-aba-by-atomicstampedref转载 2017-08-11 21:15:30 · 317 阅读 · 0 评论 -
JAVA线程池原理以及几种线程池类型介绍
在什么情况下使用线程池? 1.单个任务处理的时间比较短 2.将需处理的任务的数量大 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及”过度切换”。 线程池工作原理:为什么要用线程池?诸如 Web 服原创 2017-09-01 18:29:01 · 4213 阅读 · 0 评论