并发实战值之----线程池--线程池的作用
来源:互联网 发布:java程序员面试秘笈 编辑:程序博客网 时间:2024/05/16 05:16
二,线程池:
1,线程池的作用:
通过线程的复用,降低资源消耗(线程创建和销毁造成的消耗);
操作系统是通过线程控制块(Thread Control Block)来管理一个线程的,即创建一个线程首先要创建一个TCB,一个TCB包括下面四种内容:
1)线程标识符(thread ID):线程的ID号。
2)程序计数器(program counter):记录线程当前执行指令下一条的地址。
3)寄存器集(register set):保存CPU中寄存器中的数据,这在线程恢复运行时必须的。
4)栈(stack):用于存储局部变量,和进程的栈没什么区别。
可以看出,线程并没有一个堆。那线程通过new、malloc申请的资源从何二来呢?我们要知道属于同一进程的线程是共享全局变量等资源的。一个线程要申请一块内存,将直接在它所属进程的堆上进行,这样,其他线程就可以访问到本线程创造的数据了。
创建一个线程,需要事先分配这么多资源,自然需要花费一些时间。我们知道,操作系统通过一个链表来管理空闲内存列表的。当程序申请一块内存时,操作系统从空闲内存列表里去寻找一块满足大小的空闲内存,并将地址返回给程序。程序使用完后,又将内存块释放给操作系统。如果我们事先创建一个线程池,里面存放几个创建好的线程,就减少了线程创建的代价,因而可以提高程序的性能。
通过线程的复用,提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。
提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。
- 并发实战值之----线程池--线程池的作用
- 并发实战值之----线程池--线程池的创建
- 并发实战值之----线程池--线程池中放任务
- 并发实战值之----线程池--线程池的关闭、监控
- 并发实战值之----线程的安全性
- Java并发编程实战:线程池的应用
- java并发编程实战-线程池的使用1
- java并发编程实战-线程池的使用2
- Java线程并发库之线程池
- Java并发之线程池的学习
- 并发实战——“JUC线程池”之线程池架构
- 并发实战——“JUC线程池”之线程池原理01(简介,数据结构,调度)
- 并发实战——“JUC线程池”之线程池原理02(源码解析)
- 线程池的作用
- 线程池的作用
- 线程池的作用
- 线程池的作用
- 【Java】并发之线程池
- Dreyfus Model
- NCURSES的安装学习
- java中为什么main函数是public static
- hadoop存储视频文件
- 通过一份笔试题来发现技术水平,查缺补漏
- 并发实战值之----线程池--线程池的作用
- 获取电池信息源码
- 并发实战值之----线程池--线程池的创建
- VMware下修改redhat的分辨率
- PANIC: Could not …
- No Launcher activity&n…
- 7月30日编程札记
- 8月1日编程札记
- Excel 2013中实现一行变一列的操作