博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 线程机制
阅读量:6427 次
发布时间:2019-06-23

本文共 658 字,大约阅读时间需要 2 分钟。

进程和线程
    一个程序运行至少一个进程,一个进程里面至少包含一个线程,线程是进程的组成部分。
进程的特性:
--》独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每个进程都拥有自己私有的地址空间。在没有经过进程本身运行的情况下是不能访问其中的内容的。
--》动态性:进程与程序的区别在于,程序是静态的,进程是动态的。程序只是一个静态的指令集合,而进程是一个正在系统中运行的指令集合。有了时间的概念,如生命周期;
--》并发性:进程之间,交替着执行。
线程相对进程的优势:
--》进程之间不能共享内存,单线程之间共享内存非常的容易。
--》系统创建进程需要为该进程重新分配系统资源,但创建线程的代价很小。因此多线程的实现多任务并发比多进程实现并发的效率高。
--》java语言内置多线程功能支持,而不是单纯的作为底层操作系统的调度方式。
 
    通过使用多线程机制,这些独立任务(也被称为子任务)中的每一个都将由执行线程来驱动。一个线程就是在进程中的一个单一的顺序控制流,因此,单个进程可以拥有多个并发执行的任务,但是你的程序使得每个任务都好像有其自己的CPU一样。其底层机制是切分CPU时间。
 
线程
线程实现方法:
(1)继承Thread:
(2)实现Runnable接口:
    每个Thread都“注册”了它自己,因此确实有一个对它的引用,而且在它的任务退出其run()并死亡之前,垃圾回收器无法清除它。

转载于:https://www.cnblogs.com/allen-blogs/p/5413117.html

你可能感兴趣的文章
oracle kill所有plsql developer进程
查看>>
LAMP架构(apache用户认证,域名重定向,apache访问日志)
查看>>
struts2.0的json操作
查看>>
SQL注入神器——sqlmap
查看>>
Unity导航 (寻路系统Nav Mesh Agent)
查看>>
SaltStack配置语法-YAML和Jinja
查看>>
运用免费OA让你有意想不到的效果
查看>>
一些软件设计软则
查看>>
Linux运维基础命令
查看>>
使用PowerShell配置IP地址
查看>>
第十一章 MySQL运算符
查看>>
JAVA常见算法题(十七)
查看>>
GUI鼠标相关设置
查看>>
使用 <Iframe>实现跨域通信
查看>>
闭包--循序学习
查看>>
项目实战之集成邮件开发
查看>>
解决C3P0在Linux下Failed to get local InetAddress for VMID问题
查看>>
1531 山峰 【栈的应用】
查看>>
巧用美女照做微信吸粉,你会做吗?
查看>>
wcf学习总结《上》
查看>>