
多线程
文章平均质量分 54
陈俊成
这个作者很懒,什么都没留下…
展开
-
ThreadLocal,线程本地变量
什么是ThreadLocal? JAVA为线程安全提供了同步监视器、同步锁和 volatile关键字外,还提供了一些工具类,如ThreadLocal类,它代表一个线程局部变量,通过把数据放在ThreadLocal中就可以让每条线程创建一个该变量的副本,从而避免并发访问的线程安全问题。 (注意,同步监视器和同步锁与ThreadLocal的设计目的不一样,前者是让竞争资源共享,但是保证每个临界区都只原创 2016-09-03 13:05:59 · 863 阅读 · 0 评论 -
多线程:继承Thread和实现Runnable的区别
在给出这两个区别之前,我们先看看Thread类的源代码。class Thread implements Runnable { /* What will be run. */ private Runnable target; public Thread() { init(null, null, "Thread-" + nextThreadNum(), 0);原创 2016-08-05 15:14:10 · 634 阅读 · 0 评论 -
多线程方法记录
1、Thread.currentThread():获取当前线程的对象(currentThread()是Thread的静态方法) 2、线程对象.getName():获取当前线程对象的名称。原创 2016-08-05 15:16:47 · 331 阅读 · 0 评论 -
线程的生命周期
线程的有四种状态:(1)就绪、(2)运行、(3)阻塞、(4)死亡1、新建:new 一个进程 2、当对一个线程对象进行start()的时候并不代表他就能马上运行,而只是说它具备了运行的资格,等待调度 3、运行中的线程什么情况会受到阻塞? (1)调用sleep(时间) (2)IO阻塞 (3) (4) (5) 4、阻塞结束到就绪的情况? (1)睡眠时间到了原创 2016-08-06 13:01:12 · 316 阅读 · 0 评论 -
多线程的锁
一、在没有锁的情况下,举例下面的例子 (1)Account类,账户类,包括账户号码和余额package cn.test.synchronization.one;public class Account { private String accountNo; private double balance; public Account(String accountNo, dou原创 2016-09-01 14:32:40 · 423 阅读 · 0 评论 -
进程和线程
一、定义 (1)进程的定义 – 一个正在执行中的程序。 – 一个在计算机上执行的程序实例。 – 能分配给处理器并由处理器执行的实体。 – 一个具有以下特征的活动单元:一组指令序列的执行、一个当前状态和相关的系统资源集(2)线程的定义 – 被称为轻量级进程,是程序执行流的最小单元。 – 一个标准的线程由线程ID,当前指令指针,寄存器集合和堆栈组成。原创 2016-09-03 10:43:26 · 374 阅读 · 0 评论 -
后台线程
“后台线程”也叫“守护线程”,他为用户线程提供服务,当用户线程(前台线程)死亡的时候,JVM也会通知“后台线程”死亡,但在“后台线程”接收到信息到死亡需要一定的时间;“后台线程”、创建的子线程默认是“后台线程”,“用户线程”创建的子线程默认是子线程。一个线程想设置为后天线程必须在线程开始前就要设置好。package cn.test.thread.thread_Daemon;import java.t原创 2016-09-08 21:26:33 · 242 阅读 · 0 评论 -
【转载】java多线程synchronized volatile解析
原文地址:点击这里先简单说说原子性:具有原子性的操作被称为原子操作。原子操作在操作完毕之前不会线程调度器中断。即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。在Java中,对除了long和double之外的基本类型的简单操作都具有原子性。简单操作就是赋值或者return。比如”a = 1;“和 “return a;”这样的操作都具有原子性。但是在Java中,类似转载 2016-09-10 09:35:02 · 256 阅读 · 0 评论 -
【转】理解java线程的中断(interrupt)
线程对象.interrupt()并不会真正的中断,只是修改了它的中断信号。 原文地址:点击进入一个线程在未正常结束之前, 被强制终止是很危险的事情. 因为它可能带来完全预料不到的严重后果比如会带着自己所持有的锁而永远的休眠,迟迟不归还锁等。 所以你看到Thread.suspend, Thread.stop等方法都被Deprecated了那么不能直接把一个线程搞挂掉, 但有时候又有必要让一个线程死掉,转载 2016-09-28 19:47:58 · 311 阅读 · 0 评论 -
wait()和notify()、notifyAll()
今天想到了这个问题(wait()方法、notify()、notifyAll()这三个方法是不是执行了就释放锁呢?) 为了解决这个问题,我没有手动去敲代码(因为不知道如何去敲),但是百度到一个“知道”,说完下面有很多赞。说的是这样的,notify()和notifyAll()执行了并不会释放锁,他的作用只是唤醒其他之前wait()的线程,线程中的run方法的代码还是要执行完。也就是说:run(){原创 2016-09-28 19:20:15 · 343 阅读 · 0 评论