20180831_老师笔记_线程

  多线程:

 

   进程: 就是一个应用程序, 启动一个应用程序, 电脑一定会创建对应的进程, 进程与进程之间的内存空间独立的

线程:  进程中的最小单位, 一个进程包含多个线程,  同一个进程内部的包含的线程,内存空间是共享, 共享的是进程空间, 线程与线程可以很容易进行通信.

 

多线程: 优点: 提高效率,    程序执行次序不固定, 对程序员来说难点很多  PHP   sun

 

 

 

实现多线程的方式:

  1. 继承java.lang.Thread 类,  重写run()方法, run()就是你让线程做什么事情.

        

 启动线程:  创建线程对象

            线程对象.start()

 

 

复习:

  1. 线程与进程的区别:
      同一个进程中多个线程可以共享数据空间,但是进程之间是不能共享
      一个进程可以包含一个或者多个线程
      关闭进程的时候, 这个进程的包含所有的线程都关闭, 关闭一个线程, 不能关闭进程
     
    进程就是一个应用程序,线程是应用程序中一段代码(指令)
     
    Java是支持多线程, 多线程的优点: 提高效率. 缺点:  指令执行的次序可变, 增加编程的难度
     
    使用场景: 对于大数据,大访问量的, 耗时很长的考虑使用多线程,来优化
     
    Java中实现多线程的方式:
  1. 继承java.lang.Thread类, 重写run()方法,  run()方法中就是你需要让线程执行的指令
  2. 实现Runnable接口, 实现run()方法

 

 

启动线程:  可以竞争CPU资源, 让CPU选择执行线程

线程对象.start()方法,   à 启动线程,并不是说该线程就马上执行run(), 只是作为CPU的调度的候选, 如果线程竞争到CPU资源,可以执行.

 

   一个线程一旦启动,就不能再调用start(), 如果调用start(),抛出: IllegalThreadStateException

    

Thread源码:

 

 

实现Runnable接口,和继承Thread类的区别:

  1. 继承Thread类, 这个类就不能再继承其他类, java是单继承,  
    实现Runnable接口, 所以还可以去继承
  2. 继承Thread类,启动线程, 类的对象.start() 启动代码简单
    实现Runnable接口., 借助于Thread, 调用Thread类的start()启动, 启动代码要复杂一些
  3. 继承Thread类,属性数据不能共享的,
    实现Runnable接口, 属性数据可以共享

 

推荐使用实现Runnable接口

 

 

线程的生命周期,(状态)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值