J2SE之多线程(上)

跟大家唠唠多线程

一、什么是线程?

要想知道线程,首先要了解进程。进程是执行中的程序即具有独立功能的程序关于某个数据集合的一次运行过程。而线程是执行路径。

二、如何创建线程?

1、继承Thread类,重写run方法。
运行方式:实例化后.start()
2、实现runable接口。但运行不能直接start,要先new Thread(实例化对象),再.start()
由于Java是单继承多接口,所以2方式好一些。

三、线程的运行状态

1、新建状态 new Thread()
2、就绪状态 start()等待CPU调度
3、运行状态 CPU执行run方法
4、死亡状态 代码执行完毕或stop方法
5、休眠状态 sleep或wait方法

四、线程安全

多个线程共享同一个全局变量,做写操作时。会发生线程安全问题。

解决线程安全:(由于涉及到锁,我放到下篇文章再详聊)
1、同步代码块 synchronized{}以保证数据的原子性。
2、同步函数

一个类所有方法都有synchronized修饰时,该类就称为线程安全的类。

五、多线程的三大特性

- 原子性:原子操作时程序运行的最小单位,故原子性可保证线程安全
- 可见性:其他线程能及时看到共享变量值的修改
- 有序性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值