当前位置: 首页 > news >正文

为什么做这个网站项目指数型基金

为什么做这个网站项目,指数型基金,电商系统架构图,wordpress top0.9主题Thread 的常见构造方法 在创建线程的时候,是可以给线程起名字的。默认为 Thread-0 、Thread-1… 不会影响线程执行效果,可以更好地进行管理 ThreadGroup -线程组 把多个线程放到一组里,方便统一的设置线程的一些属性不过现在很少用到&#…

Thread 的常见构造方法

image.png|526

  • 在创建线程的时候,是可以给线程起名字的。默认为 Thread-0 、Thread-1…

    • 不会影响线程执行效果,可以更好地进行管理
      image.png|355
  • ThreadGroup -线程组

    • 把多个线程放到一组里,方便统一的设置线程的一些属性
    • 不过现在很少用到,线程相关属性用的也不太多,更多会用到“线程池”

Thread 的几个常见属性

image.png|454

  • 通常情况下,一个 thread 对象,就是对应到系统内部的一个线程(PCB),但也可能会存在一个情况——Thread 对象存在,但是系统内部的线程已经没了/还没创建
  • 设置不同的优先级会影响到系统的调度。这里的影响是基于“统计”规则的影响,直接肉眼观察,很难看到效果

前台线程:

[!NOTE] 后台线程/前台线程

  • 若某个线程在执行过程中,可以阻止进程结束,此时这个线程就是“前台线程
  • 若某个线程在执行过程中,不能阻止进程结束(虽然线程在执行着,但是进程要结束了,此时这个线程也会随之被带走)这样的线程就是“后台线程”,也叫做“守护线程
  • 一个进程中,前台线程可以有多个(创建线程的时候默认就是前台的),必须所有的前台线程都结束,进程才能结束

  • 前台线程就相当于是饭桌上的“老大”,若只有一个老大,他走了饭局就散了;若有很多老大,那得他们一起商量结不结束;后台线程就相当与是后台上的我,走不走无所谓,小透明
public class test3 {  public static void main(String[] args) {  System.out.println("hello main");  Thread t = new Thread(() -> {  while(true){  System.out.println("hello thread");  try{  Thread.sleep(1000);  }catch (InterruptedException e){  throw new RuntimeException(e);  }            }        });//将t线程设为后台进程,只要main进程结束,整个进程就结束了  t.setDaemon(true);  t.start();  }
}

把 t 进程设为后台进程后,程序中就只有 main 一个前台线程了,所以只要 main 执行完,整个进程就结束了

又因为线程是并发执行的,所以 t 线程中的执行逻辑可能赶在 main 线程执行前执行

所以最终打印结果一定有“hello main”,可能也有“hello thread

  • 前台进程和后台进程唯一的区别就是控制结束时间
  • 一个进程中必须得有一个前台线程


是否存活:

  • 代码中,创建的 newThread 对象的生命周期和内核中实际的线程是不一样的,可能会出现 Thread 对象仍然存在,但内核中的线程不存在了这种情况
    1. 调用 start 之前,内核中还没有创建线程
    2. 线程的 run 执行完毕了,内核的线程就没有了,但是 Thread 对象仍然存在
    • 不会出现 Thread 对象不存在,线程还存在的这种情况

isAlive()

  • 为 true,表示内核线程存在
  • 为 false,表示内核线程没了
public static void main(String[] args) throws InterruptedException {  Thread t = new Thread(() -> {  for(int i = 0; i < 3; i++) {  System.out.println("hello thread");  try {  Thread.sleep(1000);  } catch (InterruptedException e) {  throw new RuntimeException(e);  }        }    });  System.out.println(t.isAlive());  //false  t.start();  System.out.println(t.isAlive());  //true  Thread.sleep(5000);  System.out.println(t.isAlive());  //false  
}
  • 第一次打印 false:此时线程还未创建
  • 第二次打印 true:此时线程创建了,但还没结束
  • 第三次打印 false:由于 main 线程此时还在休眠,所以只考虑 t 线程,又因为 t 线程的 run 在五秒之内已经执行完了,所以线程就没有了

  • 由于线程之间的调度顺序是不确定的,如果两个线程都是 sleep(3000),此时,当时间一到,两个线程谁先执行,谁后执行是不一定的,所以打印出 true 还是 false 是不确定的
  • 但不一定不是指双方概率相等,双方概率会随着系统的不同,代码运行环境的不同而改变

http://www.yidumall.com/news/82573.html

相关文章:

  • 上海营销型网站建设公司企业网页设计制作
  • 哈尔滨建设银行招聘信息网网站优化哪家好
  • wordpress无法安装500文明seo
  • 做企业网站有什么用济南网站运营公司
  • 政府网站模板修改搜索引擎大全网址
  • 常用网站域名郑州网站建设最便宜
  • 中国核工业第五建设有限公司招聘seo诊断分析报告
  • 网站建设云服务器与虚拟主机网络服务包括哪些内容
  • 做外贸网站放在中国好还是美国好seo推广教程视频
  • 一个服务器可以放多少网站网络营销手段
  • 手机网站导航页金戈西地那非片
  • 广西短视频运营是aso优化平台有哪些
  • dnf做代练哪个网站好点seo对网络推广的作用是什么?
  • html5网站制作培训小熊猫seo博客
  • 网页设计有啥教程聊城网站seo
  • 珠海建站网站微信视频号可以推广吗
  • 做微商在哪个网站打广告好宁波网站推广运营公司
  • 怎么修改网站上传附件大小今天发生的重大新闻内容
  • wordpress文章出问题宁波优化推广选哪家
  • 苗木企业网站建设源代码 园林网站源码程序 苗圃花卉网站制作源码广州seo营销培训
  • 政府网站策划书免费的关键词优化工具
  • 网站搬家怎么做谷歌seo网络公司
  • 做的网站手机打不开怎么回事培训机构还能开吗
  • 沈阳开发网站的地方南京谷歌推广
  • 所有网站302跳转百度广州网站排名专业乐云seo
  • 中国十大公司排行榜江北关键词优化排名seo
  • asp作业做购物网站代码企业网站设计方案
  • 老网站做成适合手机端的网站怎么做最好看免费观看高清大全
  • php动态网站开发架构网站排名优化
  • 跳出率 网站热门国际新闻