Java多线程
泼墨成空
从零开始,每天进步一点点。
展开
-
如何正确停止一个线程
首先肯定是不能用Thread的stop()方法的,因为此方法是非常不安全的,而且已经被废弃了,那么在这里就给出一种官方的推荐方案。 private static Thread mThread; private static Thread mThread; static StringMain.MyRunnable mRunnable = new StringMain().new MyRu原创 2016-03-01 14:27:36 · 7586 阅读 · 0 评论 -
BlockingQueue!
Queue接口继承了Collection接口,其内部定义了六个方法,分为三大类,分别是新增元素、删除元素、检索元素。每一个大类都提供了两个方法,这两个方法的作用可以用下面的表格来描述: (1).add()和offer():这两个方法是向队列添加元素,不同之处在于如果队列已经添加满了还继续添加add()方法就会抛出异常,而offer()会返回false值(如果队列没有满,则of原创 2016-01-06 16:47:02 · 3267 阅读 · 0 评论 -
Lock & Condition
Synchronized同步块的不足 在多线程环境下保证线程同步的方法大多是使用synchronized关键字,但是这个关键字在某些环境下是很死板的。其主要缺点如下: (1)如果一个线程已经在一个synchronized块中执行,另一个线程视图进入这个同步块,那么它必须等待直到当前占用这那个同步块的线程执行完并退出。如果线程一直没有进入同步块,那么那个等待的线程就一直原创 2016-03-18 12:17:11 · 349 阅读 · 0 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
转载自:博客园--海子 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。 以下是本文目录大纲: 一.CountDownLatch用法 二.CyclicBarrier用法 三.Semaphore用法 若有不正之转载 2015-09-29 11:51:29 · 484 阅读 · 0 评论 -
线程全解
作为一名coder,不用线程是不可能的,我们有必要对线程的使用以及原理来详细了解一下,本文根据:http://www.cnblogs.com/dolphin0520/p/3932934.html一文对其提出的每一个问题都用一个例子来佐证,并且会增加一些新的问题,以对线程方面的知识做一个梳理。 1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境原创 2015-09-02 09:07:54 · 594 阅读 · 0 评论