本文介绍两种主线程等待子线程的实现方式,以5个子线程来说明:
1、使用Thread的join()方法,join()方法会阻塞主线程继续向下执行。
2、使用java.util.concurrent中的CountDownLatch,是一个倒数计数器。初始化时先设置一个倒数计数初始值,每调用一次countDown()方法,倒数值减一,他的await()方法会阻塞当前进程,直到倒数至0。
join方...
分类:
编程语言 时间:
2014-06-19 11:29:16
阅读次数:
262
相对于使用进程实现并发,用线程的实现更加轻量。每个线程都是独立的逻辑流。线程是CPU上独立调度运行的最小单位,而进程是资源分配的单位。当然这是在微内核的操作系统上说的,简言之这种操作系统的内核是只提供最基本的OS服务,更多参看点击打开链接
每个线程有它自己的线程上下文,包括一个唯一的线程ID(linux上实现为unsigned long),栈,栈指针,程序计数器、通用目的寄存器和条件码,...
分类:
编程语言 时间:
2014-06-16 12:28:38
阅读次数:
296
ARM处理器的7中运行模式:usr、fiq、irq、svc、abt、und、sys。
ARM处理器共37个寄存器:31个通用寄存器(未备份寄存器R0-R7,在所有模式下指的都是同一个物理寄存器;备份寄存器R8-R12,每个寄存器对应两个不同的物理寄存器。对于R13[sp]和R14[lr]来说,每个寄存器对应6个不同的寄存器;程序计数器R15[pc]),6个状态寄存器(当前程序状态寄存器[...
分类:
其他好文 时间:
2014-06-16 11:24:59
阅读次数:
180
Java在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途、创建和销毁的时间,有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,有些则是与线程一一对应,随线程的开始和结束而创建和销毁。Java虚拟机所管理的内存将会包括以下几个运行时数据区域程序计数器(P...
分类:
编程语言 时间:
2014-06-15 21:28:37
阅读次数:
329
一、Redis基础部分:1、redis介绍与安装比mysql快10倍以上*****************redis适用场合****************1.取最新N个数据的操作2.排行榜应用,取TOPN操作3.需要精确设定过期时间的应用4.计数器应用5.Uniq操作,获取某段时间所有数据排重值6...
分类:
其他好文 时间:
2014-06-14 22:45:48
阅读次数:
478
一、什么是线程? 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立执行的基本单位。线程自己基本上不拥有系统资源,仅仅拥有一点在执行中不可缺少的资源(如程序计数器,一组寄存器和栈),可是它可与同属一个进程的其它的线程共享进程所拥有的所有资源。二、什么时候使用多线程? 当...
分类:
编程语言 时间:
2014-06-14 22:35:37
阅读次数:
341
定时器T2reg52.h没有T2MOD寄存器regx55.h有T2MOD寄存器而且sbit已经定义概述定时器2是一个16位通用计数器,其具有两种操作模式:16位自动重载模式和16位捕获模式。如果预分频功能被禁止,定时器2工作时,16位通用加法计数器以12分频的周期脉冲计数,每个周期16位通用加法计数...
分类:
其他好文 时间:
2014-06-12 12:58:27
阅读次数:
1115
一、什么是线程?
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立执行的基本单位。线程自己基本上不拥有系统资源,仅仅拥有一点在执行中不可缺少的资源(如程序计数器,一组寄存器和栈),可是它可与同属一个进程的其它的线程共享进程所拥有的所有资源。二、什么时候使用多线程?
当...
分类:
编程语言 时间:
2014-06-10 00:48:04
阅读次数:
365
1.栈放局部变量(代码结束就释放,系统自动回收)堆放对象(动态分配)2.每个对象里分配4个字节的存储空间放 引用计数器
当引用计数器值为0时对象占用的内存自动被回收自动回收,引用计数器的初始值是1.3.retain 引用计数器+1
release引用计数器-14.可以给对象发送(调用)retain....
分类:
移动开发 时间:
2014-06-09 18:39:06
阅读次数:
304