Java线程学习笔记-1

什么是线程

线程就是一个主机执行的应用程序任务,一般来说,一个运行中的程序至少有一个线程,这个线程负责执行程序体,Java中,这个线程称之为main线程,通过调用main()方法来执行。实际上,在一个Java程序中至少有一个以上的线程,不过很多时候我们并未意识到,比如一个普通的GUI程序,一般有一个负责展现界面的线程,一个或者多个负责监听界面事件的线程,还有一个负责在后台处理相应逻辑的线程。

使用的场景

  • Non-blocking I/O,非阻塞I/O
    • I/O复用,通过事件监听的机制,当某个资源可用的时候,通知相应的线程执行操作,其他时候,线程处于休眠状态。
    • Polling,按照一定的频率轮询相应的资源,当资源为可用的时候执行,否则sleep一段时间后重复此过程。
    • Signals,在资源上加上标识,当资源可用时,发出一个异步的信号,这个信号将将打断当前程序的运行而调用相应的线程,当线程执行完毕后,重新回到先前被打断的程序,执行剩下的操作。Java现在不支持这种操作。
  • Alarm and Timers 
  • Independent task
  • Parallelizable Algorithm

创建一个线程

 

可以通过继承Thread类或者是实现Runnable接口创建一个线程。

线程的生命周期:

  1. Creating ,这里只是单存的通过 new 关键字创建一个线程的实例,其他的类可以访问到当前线程的公开的属性值或者是方法,但是现在线程还处于非运行状态
  2. Running,通过调用相应的Start()方法,让当前的线程run起来,这个时候可以调用isAlive()测试线程是否run起来了
  3. Terminating,线程被终止,线程实例被销毁。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值