线程
罗晓纯
科技的温度
展开
-
Java之线程1--线程的基本概念
线程是程序执行流的最小单元。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。太复杂了?简单理解为“线程是一个程序中的不同执行路径”就好了!先来看看一个单线程的例子:public class Thread01 { public static void main(S...原创 2018-09-08 16:12:02 · 141 阅读 · 0 评论 -
Java之线程2--Executor
为什么要引入Executor:1)按照传统的方式,每次new Thread创建就一个对象,对象的创建和销毁是耗费资源的;2)每次new Thread创建的线程缺乏管理,线程之间相互竞争,占用过多的资源,严重的还会导致瘫痪;3)不利于扩展,比如定时执行、定期执行、线程中断。Executor的作用:为你管理Thread对象,从而简化并发编程1)Executor允许你管理异步任务的执...原创 2018-09-16 21:33:24 · 198 阅读 · 0 评论 -
JAVA之线程3--Daemon线程
Daemon线程,即后台线程或守护线程,是指在程序运行的时候在后台提供一种通用服务的线程,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的非后台线程结束时,程序也就终止了,同时会杀死进程中的所有后台线程。反过来说,只要任何非后台线程还在运行,程序就不会终止。--《Java编程思想》比如垃圾回收线程就是一个很称职的daemon线程。Daemon线程的创建方式和普通线程差不多,只需通过se...原创 2018-09-17 22:27:34 · 204 阅读 · 0 评论 -
Java之线程4--synchronized线程同步
引入一个场景:*一家包子店每天限量销售包子* 现在包子店还剩5个包子* 张三和李四同时在不同窗口买包子,张三要买3个,李四也要买3个Buy类用于展示购买结果class Buy { public static int left = 5; /* * @name 购买者姓名 * @num 购买包子数量 */ public void buy_bread(Str...原创 2018-09-16 22:30:26 · 119 阅读 · 0 评论