A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© kingmask 中级黑马   /  2016-4-30 13:11  /  238 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

进程和线程的关系,线程休眠的方法、Sleep wait方法有什么区别。同步与异步的区别、
为什么wait(),notify(),notifyAll()等方法都定义在Object类中、
       因为这些方法的调用是依赖于锁对象的,而同步代码块的锁对象是任意锁
       Object代表任意的对象,所以,定义在这里
      
       线程的生命周期:
              新建:创建线程对象
              就绪:有执行资格,没有执行权。
              运行:有执行资格,有执行权
                     阻塞:由于一些操作让线程处于该状态,没有执行资格,没有执行权
                            而另一些操作却可以把他激活,激活后处于就绪状态   
                     
              死亡:线程对象变成垃圾,等待回收
      
       进程:是正在运行的程序,是系统进行资源分配和调用的独立单位
              每一个进程都有它自己的内存空间和系统资源
      
       线程:一个时间段执行多个任务
              是进程中的单个顺序控制流,是一条执行路径
              一个进程如果执行一条执行路径,则称为单线程程序
              如果执行多条执行路径,则称为多线程程序。
       线程依赖进程存在
       多线程不是提高程序执行速度,而是提高应用程序使用率
       程序的执行其实就是在抢CPU资源,CPU的执行权
      
              
       同步的原理:就是将部分操作功能数据的代码进行加锁。
       waitsleep区别:分析这两个方法:从执行权和锁上来分析:
              wait:可以指定时间也可以不指定时间。不指定时间,
                     只能由对应的notifynotifyAll来唤醒。
              sleep:必须指定时间,时间到自动从冻结状态转成运行状态(临时阻塞状态)
             wait:线程会释放执行权,而且线程会释放锁。
              Sleep:线程会释放执行权,但不是不释放锁。  
   说说对线程池的理解、runstart什么区别?
       程序启动一个新线程成本比较高,因为涉及到要与操作系统进行交互,
       而使用线程池就可以很好的提高性能,尤其是当程序要创建大量
       生存期很短的线程是,更应使用
      
       线程池里的每一个线程代码结束后,并不会死亡,而是再次
       回到线程池中成为空闲状态,等待下一个对象来使用

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马