多线程
Darling_0604
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java中线程的5种状态
在java语言中,线程有5种状态。新建(New):创建后尚未启动的线程都处于这种状态。运行(Runable):Runable包括了操作系统线程状态中的Running和Ready,也就是处于此状态的线程有可能正在执行,也有可能正在等待着CPU为它分配执行时间。等待:无限期等待(Waiting):处于这种状态的线程不会被分配CPU执行时间,它们要等待被其他线程显示的唤醒。限期等原创 2017-07-31 22:05:24 · 401 阅读 · 0 评论 -
Volatile关键字
volatile关键字是JVM提供的最轻量级的同步机制,一方面它提供了变量对所有线程的可见性,另一方面它禁止了指令重排序变量的可见性:就是当一个线程改变了变量的值,新值对于其他线程来说可以立即得到。而对于普通变量来说是不可以的,普通变量的值在线程间传递均需要通过主内存来完成。volatile修饰的变量之所以可以被立即得到,在于当一个线程对一个volatile变量进行写操作后,会有一个l原创 2017-08-02 21:52:25 · 224 阅读 · 0 评论 -
什么是死锁,简述死锁发生的四个必要条件,如何避免与预防死锁
什么是死锁 死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。例如,在某一个计算机系统中只有一台打印机和一台输入设备,进程P1正占用输入设备,同时又提出使用打印机的请求,但此时打印机正被进程P2所占用,而P2在未释放打印机之前,又提出请求使用正被P1占用着的输入设备。这样两个进程相互无休止地等待下去,均无法继续执行,此时两个进程陷入死锁原创 2017-07-25 17:12:37 · 708 阅读 · 0 评论 -
Java多线程实现的四种方式
Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。 其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。 1、继承Thread类创建线程Thread类本质上是实现了Runn原创 2017-07-25 17:17:32 · 433 阅读 · 0 评论 -
Synchronized关键字
在多线程并发编程中synchronized被称为重量级锁。synchronized实现同步的表现形式有以下3种:1)对于普通方法,锁是当前普通对象;2)对于静态同步方法,锁是当前类的Class对象;3)对于同步方法块,锁是synchronized括号里的配置对象。当一个线程试图访问同步代码块时,它首先必须得到锁,退出或者抛出异常时必须释放锁。synchronized实现原创 2017-08-03 21:47:32 · 304 阅读 · 0 评论
分享