随笔分类 - 【Java】 --多线程
摘要:一、对于ThreadLocal的理解 ThreadLocal,字面翻译为本地线程,但是,它并不是一个线程。而是**“线程局部变量”,它提供了不同线程内变量的一个存储方案,使得线程间的数据进行隔离,互不影响。**通过下面一个简单的例子可以进行说明: package com.whw.dxc.local.
阅读全文
摘要:一、线程安全问题 每个线程在创建之后都会开辟自己的工作内存空间,与主内存(共享堆内存)进行交互,拷贝主内存数据到工作空间中进行使用。“非线程安全问题”主要出现在多个线程同时访问同一份资源时,这种资源可以是各种类型的的资源:一个变量、一个对象、一个文件、一个数据库表等。对于实例变量,多个线程去操作同一
阅读全文
摘要:线程的生命周期有新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态。如下图所示: 1、新建状态(New): 实现Thread类,继承Runnable接口或Callable接口 2、就绪状态(Ready): 调用线程的 start() 方
阅读全文
摘要:一、线程与进程 线程是程序最小的执行单元。 进程是操作系统进行资源分配和调度的一个基本单位。 一个程序至少有一个进程,一个进程又至少包含一个线程,在程序运行时,即使自己没有创建线程,后台也会存在多个线程。如GC线程、主线程等。main线程称为主线程,为系统的入口点,用于执行整个程序。 多个线程的执行
阅读全文