Java线程
文章平均质量分 85
lxq_xsyu
这个作者很懒,什么都没留下…
展开
-
Android多线程研究(2)——定时器
先来看一段代码: public static void main(String[] args) { new Timer().schedule(new TimerTask() { @Override public void run() { System.out.println("阳光小强"); } }, 5000); int i = 0; wh原创 2014-05-20 22:51:54 · 2962 阅读 · 5 评论 -
Android多线程研究(1)——线程基础及源码剖析
从今天起我们来看一下Android中的多线程的知识,Android入门容易,但是要完成一个完善的产品却不容易,让我们从线程开始一步步深入Android内部。一、线程基础回顾package com.maso.test;public class TraditionalThread { public static void main(String[] args) { /* * 线程的第原创 2014-05-20 11:12:29 · 3238 阅读 · 2 评论 -
Android多线程研究(5)——线程之间共享数据
一、如果是每个线程都执行相同的代码,则可以使用同一个Runnable来实现共享public class MultiThreadShareData { public static void main(String[] args) { new Thread(new ShareData()).start(); new Thread(new ShareData()).start(); }原创 2014-06-04 20:16:45 · 7422 阅读 · 0 评论 -
Android多线程研究(6)——多线程之间数据隔离
在上一篇《Android多线程研究(5)——线程之间共享数据》中对线程之间的数据共享进行了学习和研究,这一篇我们来看看如何解决多个线程之间的数据隔离问题,什么是数据隔离呢?比如说我们现在开启了两个线程,这两个线程都要同时给同一个全局变量data赋值,各个线程操作它赋值后的变量数据,这里就需要用到隔离。先看一段代码:import java.util.Random;public class Th原创 2014-06-04 22:48:14 · 3222 阅读 · 0 评论 -
Android多线程研究(3)——线程同步和互斥及死锁
为什么会有线程同步的概念呢?为什么要同步?什么是线程同步?先看一段代码:package com.maso.test;public class ThreadTest2 implements Runnable{ private TestObj testObj = new TestObj(); public static void main(String[] args) { Thread原创 2014-05-21 17:55:59 · 5582 阅读 · 0 评论 -
Android多线程研究(7)——Java5中的线程并发库
从这一篇开始我们将看看Java 5之后给我们添加的新的对线程操作的API,首先看看api文档:java.util.concurrent包含许多线程安全、测试良好、高性能的并发构建块,我们先看看atomic包下的AtomicInteger.import java.util.concurrent.atomic.AtomicInteger;public class AtomicIntegerTest原创 2014-06-05 08:02:18 · 4052 阅读 · 2 评论 -
Android多线程研究(4)——从一道面试题说起
有一道这样的面试题:开启一个子线程和主线程同时运行,子线程输出10次后接着主线程输出100次,如此反复50次。先看下面代码:package com.maso.test;/** * * @author Administrator * 两个线程,其中是一个主线程,第一个线程先运行输出10次,主线程接着运行输出100次,如此反复50次 */public class ThreadTest3原创 2014-05-22 11:38:16 · 4258 阅读 · 1 评论 -
Android多线程研究(9)——线程锁Lock
在前面我们在解决线程同步问题的时候使用了synchronized关键字,今天我们来看看Java 5.0以后提供的线程锁Lock.Lock接口的实现类提供了比使用synchronized关键字更加灵活和广泛的锁定对象操作,而且是以面向对象的方式进行对象加锁。 @Override public void run() { while(true){ Lock lock = new Re原创 2014-06-08 21:08:55 · 11294 阅读 · 1 评论 -
Android多线程研究(8)——Java5中Futrue获取线程返回结果
我们先来看一下ExecutorService中的执行方法:在上一篇中我们使用了execute方法启动线程池中的线程执行,这一篇我们来看看submit方法的使用:submit提交一个返回值的任务用于执行,返回一个表示任务的未决结果的 Future。该 Future 的 get 方法在成功完成时将会返回该任务的结果。import java.util.concurrent.Callable;impor原创 2014-06-08 11:45:08 · 3217 阅读 · 2 评论