多线程
来源:互联网 发布:程序员深夜骚扰 编辑:程序博客网 时间:2024/06/02 19:42
为什么要用多线程? 多进程不是也可以实现多任务吗? 那么我们要来看看线程相对于进程的优点:
1:线程比进程更节俭, 有数据显示进程的占用资源是线程的30倍:
新起一个进程,必须要为他分配地址空间,以及数据表用于维护代码段 数据段以及堆栈;
而线程是多个线程共享地址空间,以及大部分数据;
还有线程的切换时间也远远小于进程的切换的时间;
2:线程通信更简单;
因为进程之间相互独立的地址空间,以及相互独立的数据等;所有他们之间的通信必定复杂;
而线程之间共享大部分数据,所有他们之间的通信简单;但是带来的问题就是数据的同步问题;
由进程和线程的特点决定他们通信的不同,进程间通信有多种形式:
1,管道PIPE: 父子进程之间使用;
2,命名管道FIFO: 先进先出 first in first out
3,信号量:
4,共享内存:
5,socket:
线程通信则主要是存在数据同步的问题,一个数据不能被多个线程同时修改:
1,互斥量
2,读写锁:
3,条件变量
4,信号量:
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 无语了,为什么投的实习简历都没有下文了?求助!!
- 在reflect基础上的map和object转化
- IP数据包格式详解
- hibernate锁 数据库大并发
- 笔试题总结 有空看看 还有网络编程
- 多线程
- C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值
- 软件开发之50年历程——Redwine-Riddle成熟模型
- Android开发四大组件--Activity详解
- 图文例解C++类的多重继承与虚拟继承
- error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
- 基于面向对象封装的模态对话框类
- 湖南ERP企业如何实施成功
- 关于在使用EXTJS过程中页面出现白板的解决方法