多线程基础入门

1.线程和进程和程序

程序:多个进程的集合(一个程序至少一个进程)

进程:线程的集合(一个进程至少一个线程)

线程:一个执行路径

2.什么是线程安全问题

   当两个或者多个线程共享一个全局变量对其做写的操作的时候,结果可能出现误差.

3.多线程之间同步

1)同步代码块:

就是被包裹的代码只能有一个线程进入

synchronized(锁){

代码

}

2).同步函数 

在方法上加上synchronized 就是同步函数 

public   synchronized   方法返回类型  方法名字()

{

代码

}

3. lock锁

Lock lock  = new ReentrantLock();

lock.lock();

try{

//可能会出现线程安全的操作

}finally{

//一定在finally中释放锁

//也不能把获取锁在try中进行,因为有可能在获取锁的时候抛出异常

  lock.ublock();

}

 

3.多线程死锁

同步中嵌套同步,导致锁没法释放,产生死锁.

4.多线程三大特性: 

1)原子性:  就是程序的完整性,要么做完这个事情,要么就不做,不能做一半不做。

2)可见性:Java内存模型中的本地内存能否通讯。

3)有序性:程序执行的顺序按照代码的先后顺序执行。

5守护线程和非守护线程:

Java中有两种线程,一种是用户线程,另一种是守护线程。

 用户线程是指用户自定义创建的线程,主线程停止,用户线程不会停止

守护线程当进程不存在或主线程停止,守护线程也会被停止。

6.多线程运行状态  

新建  就绪  阻塞 运行   死亡

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值