java多线程
yangxi_001
这个作者很懒,什么都没留下…
展开
-
Java5 多线程(四)--Semaphore实现信号灯
Semaphore可以维护当前访问自身的线程个数,并提供了同步机制,使用Semaphore可以控制同时访问资源的线程数,例如,实现一个文件允许的并发访问数. Semaphore实现的功能就类似厕所一共有5个茅坑(new Semaphore(5)),加入有10个人(10个线程)要上厕所,那么同时只能有5个人能够占用,当占用的5个人任何一个让开后(release()方法),其中等待的转载 2013-06-04 13:39:29 · 700 阅读 · 0 评论 -
Android AsyncTask完全解析,带你从源码的角度彻底理解
转自:http://blog.csdn.net/guolin_blog/article/details/11711405我们都知道,Android UI是线程不安全的,如果想要在子线程里进行UI操作,就需要借助Android的异步消息处理机制。之前我也写过了一篇文章从源码层面分析了Android的异步消息处理机制,感兴趣的朋友可以参考 Android Handler、Mes转载 2016-12-26 18:23:38 · 436 阅读 · 0 评论 -
秒杀多线程
http://blog.csdn.net/column/details/killthreadseries.html转载 2015-06-25 16:00:28 · 561 阅读 · 0 评论 -
Android实现计时与倒计时的几种方法
转自:http://blog.csdn.net/ithomer/article/details/6903084方法一Timer与TimerTask(Java实现)[java] view plaincopyprint?public class timerTask extends Activity{ priv转载 2014-10-21 16:23:49 · 796 阅读 · 0 评论 -
java利用FutureTask、ExecutorService 在多核时代充分利用CPU运算
FutureTask、ExecutorService 相关知识,请看java,API一个使用FutureTask简单的例子: package com.spell.threads;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.u转载 2014-03-11 13:23:23 · 978 阅读 · 0 评论 -
Java并发编程
http://blog.csdn.net/column/details/concurrency.html转载 2014-03-03 10:39:59 · 464 阅读 · 0 评论 -
Java 线程池的原理与实现
这几天主要是狂看源程序,在弥补了一些以前知识空白的同时,也学会了不少新的知识(比如 NIO),或者称为新技术吧。线程池就是其中之一,一提到线程,我们会想到以前《操作系统》的生产者与消费者,信号量,同步控制等等。一提到池,我们会想到数据库连接池,但是线程池又如何呢?建议:在阅读本文前,先理一理同步的知识,特别是syncronized同步关键字的用法。关于我对同步的认识,要缘于大三转载 2014-01-16 16:51:25 · 495 阅读 · 0 评论 -
100行Java代码构建一个线程池
在现代的操作系统中,有一个很重要的概念――线程,几乎所有目前流行的操作系统都支持线程,线程来源于操作系统中进程的概念,进程有自己的虚拟地址空间以及正文段、数据段及堆栈,而且各自占有不同的系统资源(例如文件、环境变量等等)。与此不同,线程不能单独存在,它依附于进程,只能由进程派生。如果一个进程派生出了两个线程,那这两个线程共享此进程的全局变量和代码段,但每个线程各拥有各自的堆栈,因此它们拥有各自的局转载 2014-01-16 17:17:10 · 628 阅读 · 0 评论 -
Java 线程池学习
Reference: 《创建Java线程池》[1],《Java线程:新特征-线程池》[2], 《Java线程池学习》[3],《线程池ThreadPoolExecutor使用简介》[4],《Java5中的线程池实例讲解》[5],《ThreadPoolExecutor使用和思考》[6][1]中博主自己通过ThreadGroup实现一个线程池(挺方便理解的),使用的是jdk1.4版本,Jdk转载 2014-01-16 16:53:48 · 505 阅读 · 0 评论 -
理解ThreadLocal
ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它转载 2013-11-18 14:12:33 · 457 阅读 · 0 评论 -
Java多线程编程的常见陷阱
1、在构造函数中启动线程我在很多代码中都看到这样的问题,在构造函数中启动一个线程,类似这样:public class A{ public A(){ this.x=1; this.y=2; this.thread=new MyThread(); this.thread.start(); } } 这个转载 2013-08-07 22:47:27 · 697 阅读 · 0 评论 -
实战体会Java多线程编程精要
在 Java 程序中使用多线程要比在 C 或 C++ 中容易得多,这是因为 Java 编程语言提供了语言级的支持。本文通过简单的编程示例来说明 Java 程序中的多线程是多么直观。读完本文以后,用户应该能够编写简单的多线程程序。 为什么会排队等待? 下面的这个简单的 Java 程序完成四项不相关的任务。这样的程序有单个控制线程,控制在这四个任务之间线性地移动。此外,因为所需的资源 ?转载 2013-08-07 22:46:35 · 833 阅读 · 0 评论 -
【译】通过多线程技术提高Android应用性能
有一个好方法可以让你的应用保持快速响应,那就是让主UI线程尽量少做事情,如果在UI线程中做一个耗时过长的处理,会导致UI僵死,因此对于有可能耗时过长的任务应该另起一个线程处理。这种典型的应用场景就是做网络相关的操作,因为网络传输过程中可能有意料不到的延迟。通常来说,用户可以忍受反馈时的一小段等待,但界面僵死就是另外一回事了。本文就根据这种设计模式实现一个简单的图片下载应用,我们将实现一个带转载 2013-06-24 18:10:09 · 819 阅读 · 0 评论 -
Java5 多线程(一)--入门篇
首先回顾一下JDK1.5之前的线程相关的知识:1 线程的入门. 什么是线程,线程就是程序执行的线索,Java是面向对象的语言什么类来表示这样一个东西呢?Thread.通过start()方法启动它,线程所要执行的任务放在run()方法里面,下面可以看一下run()方法里面的源码创建线程的两种传统方式(注: Runnable类并不是一个线程,它转载 2013-06-04 13:37:12 · 669 阅读 · 0 评论 -
Java5 多线程(三)--Lock和Condition实现线程同步通信
1>Lock: Lock比传统线程模型中的Synchronied方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象.两个线程执行的代码段要实现同步互斥的效果,它们必须用同一个Lock对象,锁是在代表要操作的资源的类的内部方法中,而不是线程代码中. 上面的输出器Outputer类就可以这样改写:class Outputer2 { // 声转载 2013-06-04 13:38:52 · 787 阅读 · 0 评论 -
Java5 多线程(二)--线程池
1,Java5线程池 线程池的概念与Executors类的应用首先介绍在TCP服务器编程模型的原理,当一个客户端连接到服务器,服务器要起一个线程为之服,当客户端的回话结束时,线程也就结束了,即每一个客户端连接,服务器 就要为之创建一个新的线程,这好比假设每个报名学员都要通过我来亲自接 待,以便给每个学员一种好的感觉,但每个学员报名手续花费半个小时,对于 50名学生,我一个个接待转载 2013-06-04 13:38:07 · 681 阅读 · 0 评论 -
Java5 多线程(五)--CyclicBarrier同步的工具类
允许一系列的集合等待彼此,到达一个共同的障碍物点.表示大家彼此等待,大家集合好后才开始出发,分散活动后又在指定的地点集合碰面,这就好比整个公司的人员利用周末时间集体郊游一样,先各自从家里出发到公司集合后,在同时出发到公园游玩,在指定的地点后再同时开始就餐,...public static void main(String[] args) { ExecutorService转载 2013-06-04 13:39:59 · 728 阅读 · 0 评论 -
你真的了解AsyncTask?
虽说现在做网络请求有了Volley全家桶和OkHttp这样好用的库,但是在处理其他后台任务以及与UI交互上,还是需要用到AsyncTask。但是你真的了解AsyncTask吗?AsyncTask的实现几经修改,因此在不同版本的android系统上表现各异;我相信,任何一个用户量上千万的产品绝对不会在代码里面使用系统原生的AsynTask,因为它蛋疼的兼容性以及极高的崩溃率实在让人不敢恭维。转载 2016-12-26 18:33:53 · 461 阅读 · 1 评论