线程

进程;每一个应用都是一个进程;CPU负责调度

线程:每一个进程中可以有一个或多个线程,线程不是越多越好,线程数量和CPU内核有关,考量是任务执行时间

并行:(一边吃饭一边接电话 单核CPU不支持)

并发:(先接电话在吃饭)

线程具有生命周期,其中包含五种(七种)状态,分别为出生状态、就绪状态、运行状态、堵塞状态【等待状态、休眠状态、阻塞状态】、死亡状态。出生状态是用户在创建线程,就绪状态是线程进入Runnable状态等待CPU安排执行,运行状态是线程执行;堵塞状态,死亡状态,死亡后不能再次start开始线程;为了让线程死亡应该用while方法

sleep(休眠)方法不释放CPU资源

wait(等待)方法释放系统资源唤醒必须由notify或notifyALL唤醒

阻塞状态有三种状态,等待、休眠、阻塞

 

线程优先级为1——10,1优先级最低10优先级最高,默认是5

设置优先级setPriority()

线程锁(synchronize):防止资源被多次访问,synchronize(对象和自解码)同步静态方法是锁当前类的自解码对象,同步非静态方法是锁当前对象

锁的时候必须是同一个对象

同步代码块(在方法体内)

同步方法(方法命名)public synchronized void run{}

synchronized 同一个对象有两个同步方法当有多个线程访问,可不可以访问,,,不可以

一个类中一个同步静态方法,一个同步非静态方法,可不可以有多个线程访问、、、可以

一个类中ab方法都是静态方法,ab同步,不可以同时访问

锁同一个资源互斥

启动线程调用start方法还是run方法

调用start方法开启一个线程

只有Thread的实现对象才能调用start方法,

转载于:https://my.oschina.net/u/3544285/blog/1483904

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值