zoukankan      html  css  js  c++  java
  • java多线程学习-1

    问1:同一个线程对象可以被多次调用start方法吗?

    》不可以。因为每一个线程有一个volidate修饰的线程状态【threadStatus】。在每次调用start方法时,都会检查线程状态,如果不为0,则抛出

    【IllegalThreadStateException();】

    问2:主线程和子线程之间的关系时怎样的?

    》主线程创建子线程对象,主线程和子线程各自执行,互相不影响。同时,子线程之间也不会互相干扰。

    问3:如果直接调用线程的run()方法,会是怎样的?

    》程序不会报错,但是是由主线程执行。【start()方法是帮助启动线程和执行run()方法】

    匿名内部类如何使用的?

    》new 父类(){子类内容}

    线程中常用的方法:

    /**
    * 测试Thread类中的常用方法
    * 1、start()启动当前线程,调用当前线程中的run方法
    * 2、run()通常需要重写,将线程需要执行的任务写到run()中
    * 3、SetName(),GetName()
    * 4、currentThread()
    * 5、yield()线程让步,让出线程的执行权
    * 6、join()在线程a中调用线程b的join(),此时线程a就会立刻进入到阻塞状态,知道线程b完全执行完后,线程a才会结束阻塞状态
    * 7、sleep(int)
    * 8、stop()强制终止线程,已经过时
    * 9、isAlive()判断当前线程是否存活
    */

    线程中的setpriority()方法,可以设置线程的优先级。

    》疑问?如何通过方法进行线程优先级的设置?是否和操作系统中的进程抢占调度算法类似?

    线程中为什么setpriority()设置完优先级之后,线程之间还是会有交叉调度的?

    》线程优先级高的并不会一直抢占cpu资源,也会有轮询机制。所以不管如何设置优先级,不会使其中的某个线程彻底处于阻塞状态,直到优先级高的线程先执行完





  • 相关阅读:
    小程序自动更新版本
    js深浅拷贝理解
    小程序模仿toast效果
    小程序button默认border
    Java利用POI 读取Excel行列数,坑
    Nginx 极简入门教程
    七、SpringBoot整合持久化层,配置多数据源(SpringBoot系列)
    六、SpringBoot整合aop(SpringBoot系列)
    五、SpringBoot随系统启动任务的方式(SpringBoot系列)
    四、SpringBoot通过CORS解决跨域问题(SpringBoot系列)
  • 原文地址:https://www.cnblogs.com/yibao/p/13561520.html
Copyright © 2011-2022 走看看