标签:共享内存 其他 局部变量 font 指令集 计数 ima 工作方式 read
几乎所有的操作系统都支持运行多个任务,一个任务就是一个程序,一个运行中的程序就是进程,当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程,进程是系统进行资源分配和调度的一个独立单位
进程有三个特征:
1.独立性,他有自己地盘,有自己的队伍,他不允许别人进来,别人就进不来
2.动态性:程序只是一个充气娃娃,虽然由各种指令集合组成,但是她是静态不能动的,进程是一个活人,是一个能活动的指令集合,有自己的寿命和喜怒哀乐
3.并发性:在一个处理器上几个进程可以并发执行,多个进程之间不会互相影响(同一时刻只能有一条指令执行,但是多个进程指令被快速轮换执行,使得宏观上看起来具有多个进程同时执行的效果)
大部分操作系统支持多进程并发进行,多线程则扩展了多进程的概念,就像进程在操作系统中的工作方式一样,所以进程被称为“轻量级进程”
多线程:同时可以执行多个顺序执行流,多个顺序流之间互不干扰。好比餐厅服务员,单线程是 只雇佣一个服务员,给一桌上完菜以后才可以给另一桌上,多线程是雇佣好几个服务员,同时给好几桌上上菜.
线程可以拥有自己的堆栈、自己的程序计数器和自己的局部变量,但不拥有系统资源,他与父进程的其他线程共享该进程所拥有的全部资源
使用多线程编程优势:
1.进程之间不能共享内存,线程之间可以
2.系统创建进程时需要为该进程重新分配系统资源,创建线程代价小的多
3.java语言内置了多线程功能的支持,,而不是单纯的作为底层操作系统的调度方式,从而简化了java的多线程编程
线程的创建和启动
1.继承Thread类创建线程类
2.实现Runnable接口创建线程类
标签:共享内存 其他 局部变量 font 指令集 计数 ima 工作方式 read
原文地址:http://www.cnblogs.com/wxw7blog/p/7093713.html