首页 > 代码库 > 多线程
多线程
几乎所有的操作系统都支持运行多个任务,一个任务就是一个程序,一个运行中的程序就是进程,当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程,进程是系统进行资源分配和调度的一个独立单位
进程有三个特征:
1.独立性,他有自己地盘,有自己的队伍,他不允许别人进来,别人就进不来
2.动态性:程序只是一个充气娃娃,虽然由各种指令集合组成,但是她是静态不能动的,进程是一个活人,是一个能活动的指令集合,有自己的寿命和喜怒哀乐
3.并发性:在一个处理器上几个进程可以并发执行,多个进程之间不会互相影响(同一时刻只能有一条指令执行,但是多个进程指令被快速轮换执行,使得宏观上看起来具有多个进程同时执行的效果)
大部分操作系统支持多进程并发进行,多线程则扩展了多进程的概念,就像进程在操作系统中的工作方式一样,所以进程被称为“轻量级进程”
多线程:同时可以执行多个顺序执行流,多个顺序流之间互不干扰。好比餐厅服务员,单线程是 只雇佣一个服务员,给一桌上完菜以后才可以给另一桌上,多线程是雇佣好几个服务员,同时给好几桌上上菜.
线程可以拥有自己的堆栈、自己的程序计数器和自己的局部变量,但不拥有系统资源,他与父进程的其他线程共享该进程所拥有的全部资源
使用多线程编程优势:
1.进程之间不能共享内存,线程之间可以
2.系统创建进程时需要为该进程重新分配系统资源,创建线程代价小的多
3.java语言内置了多线程功能的支持,,而不是单纯的作为底层操作系统的调度方式,从而简化了java的多线程编程
线程的创建和启动
1.继承Thread类创建线程类
2.实现Runnable接口创建线程类
多线程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。