随笔分类 -  Java Thread

摘要:线程和进程的概念,并行和并发的概念 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织 阅读全文
posted @ 2019-06-01 21:03 xiejiachen
摘要:使用场景 直接定位到 ThreadLocal 的源码,可以看到源码注释中有很清楚的解释:它是线程的局部变量,这些变量只能在这个线程内被读写,在其他线程内是无法访问的。 ThreadLocal 定义的通常是与线程关联的私有静态字段(例如,用户ID或事务ID)。 变量有局部的还有全局的,局部变量没什么好 阅读全文
posted @ 2019-05-28 18:53 xiejiachen
摘要:1. Java中导致死锁的原因 Java中死锁最简单的情况是,一个线程T1持有锁L1并且申请获得锁L2,而另一个线程T2持有锁L2并且申请获得锁L1,因为默认的锁申请操作都是阻塞的,所以线程T1和T2永远被阻塞了。导致了死锁。这是最容易理解也是最简单的死锁的形式。但是实际环境中的死锁往往比这个复杂的 阅读全文
posted @ 2019-05-28 14:19 xiejiachen
摘要:1. 多线程的创建方式 (1)、继承 Thread类:但Thread本质上也是实现了Runnable 接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线程,并执行run() 阅读全文
posted @ 2019-05-24 15:33 xiejiachen
摘要:Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包。 ( 1 ) Java的线程并发库介绍 Java5的多线程并有两个大发库在java.util.concurrent包及子包中,子包主要的包有一下两个 1) java.util.concurrent包 (多 阅读全文
posted @ 2019-05-23 22:26 xiejiachen
摘要:( 1 ) 传统使用类Thread和接口Runnable实现 1. 在Thread子类覆盖的run方法中编写运行代码 方式一 2. 在传递给Thread对象的Runnable对象的run方法中编写代码 3. 总结 查看Thread类的run()方法的源代码,可以看到其实这两种方式都是在调用Threa 阅读全文
posted @ 2019-05-23 21:14 xiejiachen