Java常用技术
文章平均质量分 81
Kamiki_
学而不思则罔,思而不学则殆
展开
-
Java 彻底弄明白synchronized的使用
多个线程访问共享资源(临界资源)的时候,会出现线程安全问题,安全问题大多数是可见性问题和原子性问题。可见性:例如执行多个线程执行a++,那么多个线程就会被分配到不同的处理器上,每个处理器都从主存上复制操作一份拷贝,处理完成后复制给主存。由于分配到了不同的处理器上,两个线程的操作可能会互相覆盖,这样的结果就会和预想的又偏差。例如如下代码:private volatile static i原创 2016-06-23 18:08:59 · 7893 阅读 · 0 评论 -
Java中 Thread和Runnable实现多线程的区别和联系
Java有两种方式实现多线程,第一个是继承Thread类,第二个是实现Runnable接口。他们之间的联系:1、Thread类实现了Runable接口。2、都需要重写里面Run方法。他们之间的区别“1、实现Runnable的类更具有健壮性,避免了单继承的局限。2、Runnable更容易实现资源共享,能多个线程同时处理一个资源。看一下以继承Thread的买票例子:publ原创 2016-06-22 12:18:19 · 7485 阅读 · 4 评论 -
java 中断线程
线程在运行过程中,如果我们希望线程可以中断,则可以使用以下方法,停下来之后我们可以决定线程是终止下来 还是继续执行,本质上来说,中断只是一个线程信号,希望能引起线程的注意。本文中,我们中断之后采用终止执行。使用Interrupt()中断线程:interrupt方法实际上是让程序发生抛出一个InterruptedException(被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,原创 2016-06-22 16:47:50 · 377 阅读 · 0 评论