多线程
文章平均质量分 55
Terrence_he
studying, working
展开
-
interrupt,interrupted和isInterrupted
Thread.interrupt Thread.interrupt用来中断当前执行的线程。它并不会像Thread.stop那样直接停止正在运行的线程, 而是设置该线程的中断状态位为true,然后可以在线程里通过interrupted或isinterrupted来判断中断标 从而退出程序执行过程。interrupted和isinterrupted interrupted和isin原创 2017-10-18 20:24:25 · 529 阅读 · 0 评论 -
线程之suspend和resume方法
suspend() 和 resume() 方法:两个方法配套使用,suspend()使得线程进入阻塞状态,并且不会自动恢复,必须其对应的 resume() 被调用,才能使得线程重新进入可执行状态。 suspend() 和 resume() 方法有很多缺点。下面将其缺点列举一二 1.当 suspend() 和 resume() 方法使用不当时极容易造成公共同步对象的独占,使其他线程无法访问公原创 2017-10-23 20:57:15 · 4157 阅读 · 1 评论 -
线程中的yield()方法
Thread.yield()方法作用是:暂停当前正在执行的线程对象(及放弃当前拥有的cup资源),并执行其他线程。yield()做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。因此,使用yield()的目的是让相同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。 结论:y原创 2017-10-24 20:02:02 · 14936 阅读 · 0 评论 -
volatile关键字
先补充一下概念:Java 内存模型中的可见性、原子性和有序性。可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。 可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也就是一个线程修改的结果。另一个线程转载 2017-11-11 16:06:08 · 307 阅读 · 0 评论 -
线程的优先级
在操作系统中,线程可以划分多个优先级,优先级较高的线程可以得到更多的cpu资源。在java语言中设置线程 优先级使用setPriority()方法,该方法的源码如下:public final void setPriority(int newPriority){ ThreadGroup g; checkAccess(); if(newPriority > MAX_PRIOR原创 2017-10-24 20:10:42 · 518 阅读 · 0 评论 -
wait和notify方法
wait和notify相关概念: wait和notify方法是Java同步机制中重要的组成部分, 他们只有在Synchronized方法或Synchronized代码块中才能使用 否者就会报java.lang.IllegalMonitorStateExceprion异常 当Synchronized方法或者Synchronized代码块中的wait() 方法被调用时,当前线程将被原创 2017-11-22 19:48:10 · 416 阅读 · 0 评论 -
join方法
Thread.join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。t.join(); //使调用线程 t 在此之前执行完毕。 t.join(1000); //等待 t 线程,等待时间是1000毫秒 (注意: join()方法和interrupt 方法同时作用一个对象时转载 2017-11-22 20:11:09 · 561 阅读 · 0 评论 -
深入剖析ThreadLocal
概述相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路;ThreadLocal的目的是为了解决多线程访问资源时的共享问题。如果你也这样认为的,那现在给你10秒钟,清空之前对ThreadLocal的错误的认知!看看JDK中的源码是怎么写的:This class provides thread-转载 2017-11-22 20:28:52 · 390 阅读 · 0 评论 -
synchronized同步锁
synchronized简介synchronized是Java中的关键字,是一种同步锁。它可以修饰以下对象 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象; 3. 修改一个静态的方法,其作用的范围是整个静态方法...原创 2017-10-31 19:30:30 · 957 阅读 · 2 评论