JAVA_多线程学习笔记(一)

JAVA_多线程学习笔记

线程和进程

进程: 当你点开一个QQ.exe的时候是一个进程,点开WeChat.exe的时候又是另外的一个进程。

线程:当你点开QQ.exe的时候,QQ这个程序里面又有许多同时在执行的线程。

创建多线程

创建多线程有3种方式,分别是继承线程类,实现Runnable接口,匿名类

第一种  实现Runnable接口  重写run方法

 

第二种 通过继承Thread来创建线程

创建一个线程的第二种方法是创建一个新的类,该类继承 Thread 类,然后创建一个该类的实例。

继承类必须重写 run() 方法,该方法是新线程的入口点。它也必须调用 start() 方法才能执行。

第三种: 匿名类

使用匿名类,继承Thread,重写run 方法,直接在run方法中写业务代码。

线程的创建,目前我就学习了上面三种方式。

关于线程的一些常见的方法:

关键字简介
sleep

当前线程暂停

join

加入到当前线程中

setPriority

线程优先级

yield

临时暂停

setDaemon

守护线程

1.sleep 当前线程暂停

    Thread.sleep(1000);表示当前线程暂停有1000毫秒,别的线程不受影响。此时有可能抛出InterruptedException中断异常,因为线程暂停的过程中,有可能被停止。

2.join 加入到当前线程中

    所有的线程都会有一个主线程,把一个线程加入到主线程,则主线程会等待该线程执行完 才继续往下执行。

3.setPriority  线程优先级

    当多个线程同时竞争资源的时候,优先级高的线程获得cpu的概率会大大的增加。我们可以观察到优先级高线程获得cpu资源的能力更强。

4.yield  当前线程临时暂停,其他线程获取cpu资源的能力上升。

5.setDaemon 守护线程

守护线程: 当一个进程里,所有的线程都是守护线程的时候,结束当前进程

比如一个学校里面,不光有教书的老师,上课的学生,还有负责做饭的食堂,负责卫生的后勤部门。  这些后勤部门就相当于守护进程一样,守护老师学生上课的正常进行。当不再有老师上课这样的活动(进程),只剩下后勤部门时(守护进程),那这个学校也就可以倒闭了(进程结束)。

守护线程通常会被用来做日志,性能统计等工作。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值