近期学习了线程等待和激活的相关知识。 先介绍几个api: pthread_cond_t表示多线程的条件变量,用于控制线程等待和就绪的条件。 一:条件变量的初始化: 条件变量和互斥锁一样,都有静态动态两种创建方式, 静态方式使用PTHREAD_COND_INITIALIZER常量初始化。 pthrea ...
分类:
其他好文 时间:
2016-06-13 15:28:14
阅读次数:
211
进程 虽然进程构成了分布式系统中的基本组成单元,但是操作系统提供的用于构建分布式系统的进程在粒度上还是太大了,而就粒度而言,将每个进程细分为若干控制线程的形式则更加合适。 为了程序执行的需要,操作系统创建多个虚拟处理器,每个虚拟处理器运行一个程序。为了保持对这些虚拟处理器的跟踪,操作系统中有一张进程 ...
分类:
编程语言 时间:
2016-06-11 22:56:15
阅读次数:
233
线程的守护: 线程守护 1 package day23; 2 3 /** 4 * 2.3、线程控制 2.3.1、线程休眠 2.3.2、优先级 2.3.3、守护线程 5 * 6 * @author 指针怒草内存栈 7 * 8 */ 9 public class SleepThread_01 { 10 ...
分类:
编程语言 时间:
2016-06-11 10:31:00
阅读次数:
158
1、Thread类可以创建和控制线程。Thread类的构造函数重载为接受ThreadStart和ParameterizedThreadStart委托类型参数。其中,ThreadStart委托要求函数为无参、返回值类型为void;ParameterizedThreadStart委托要求函数接受一个ob ...
分类:
编程语言 时间:
2016-05-31 20:52:21
阅读次数:
189
1. 线程池 (1)线程池的优点: 重用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销。 能有效控制线程池的最大并发数,避免大量的线程之间因相互抢占系统资源而导致的阻塞现象。 能够对线程进行简单的管理,并提供定时执行以及指定间隔循环执行等功能。 (2)Android中的线程池: Andro ...
分类:
移动开发 时间:
2016-05-28 08:52:41
阅读次数:
178
线程池原理理解作用:
线程池的作用就是限制系统中执行线程的数量。
根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;
少了浪费系统资源,多了造成系统拥挤效率不高。
用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列中取最前面的任务开始执行。
若队列中没有等待进程,线程池的这一资源处于等待。
当一个新任务需要运行时,如果线程池中有等待的工作线程...
分类:
编程语言 时间:
2016-05-23 11:59:34
阅读次数:
162
1.在Java 5之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor框架便是Java
5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java 5之后,通过Executor来启动线程比使用Thread的start方法更好,除了更易管理,效率更好(用线程池实现,节...
分类:
其他好文 时间:
2016-05-18 19:40:43
阅读次数:
402
Java通过Executors提供四种线程池,分别为:
newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。
newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。
n...
分类:
编程语言 时间:
2016-05-13 04:08:58
阅读次数:
232
线程信号量和进程信号量类似,Unix提供了两套与信号量有关的API。POSIX和System V。两套API都可以在线程和进程中使用。 进程中使用信号量是为了保证临界资源的控制,线程中已经有了互斥锁,而且还有条件变量对线程进行控制,信号量是不是就有点多余了呢? 其实在进程中也是可以使用互斥锁和控制变 ...
分类:
编程语言 时间:
2016-05-08 19:49:08
阅读次数:
160