JAVA多线程笔记

进程的定义:进程是程序(任务)的执行过程,是持有资源的载体。例如,同时打开QQ和微信。

线程的定义:线程是程序中执行运算的最小单位,可完成一个独立的顺序执行流程。

多线程的定义:一个进程同时运行了多个线程,用来完成不同的工作。

**多个线程交替占用CPU资源,而非真正的并行执行。**

**线程每次执行时常有分配的CPU时间片长度决定。**

创建线程的两种方式:
**1、继承Threa类
2、实现Runable接口**

线程的五大状态:
创建状态 > 就绪状态 > 运行状态 > 阻塞状态 > 死亡状态

线程的调度:
setPriority() :仅表示线程具有较多的执行机会,而非优先执行
getPriority() :用取得进程、进程组和用户的进程执行优先权。
sleep() :休眠,自动苏醒。
join() :阻止并强制执行。
yield() :礼让,只提供一种可能。
wait() :挂起当前线程,释放共享资源的锁,需要被唤醒才能运行。
notify() :随机唤醒一个正在等待的线程,获得锁后才能真正执行。
notifyAll() :所有等待的线程被一次性全部接触阻塞。

同步方式:
同步代码块:synchronized
同步方法 :public synchronized void run(){}
死锁 :所谓死锁,是指多个线程,因竞争资源而造成的一种僵局(互相等待对方释放资源),若无外力作用,这些进程实现都将无法向前推进。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值