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

石油化工工程建设人才招聘网站2023前端就业形势

石油化工工程建设人才招聘网站,2023前端就业形势,云购网站做的起来吗,淘宝客怎样建设网站上一篇文章我们讲述了什么是进程#xff0c;进程的基本调度 http://t.csdn.cn/ybiwThttp://t.csdn.cn/ybiwT 那么本篇文章我们将了解一下什么是线程#xff1f;线程与进程有哪些区别#xff1f;线程应该怎么去编程#xff1f; 目录 http://t.csdn.cn/ybiwThttp://t.csdn…上一篇文章我们讲述了什么是进程进程的基本调度 http://t.csdn.cn/ybiwThttp://t.csdn.cn/ybiwT 那么本篇文章我们将了解一下什么是线程线程与进程有哪些区别线程应该怎么去编程 目录 http://t.csdn.cn/ybiwThttp://t.csdn.cn/ybiwT 一、什么是线程线程的概念 三、进程和线程的区别 3.1 java线程和操作系统线程的关系 四、线程的创建 五、需要主要的几个地方 六、Thread类里面的一些其他方法 6.1Thread几个常见属性 一、什么是线程线程的概念 进程是比较“重量的”速度慢/消耗资源多的那么创建一个进程成本比较高销毁一个进程成本也比较高调度一个进程成本也挺高的。进程包含线程一个进程里可以有多个线程多个线程之间也是并发执行的。 那么线程则是更轻量的进程轻量级进程一个进程中可以包含多个线程此时这多个线程每个线程都是一个独立可以调度执行的“执行流”同时这些进程共用一份进程的系统资源意味着对于线程而言系统资源是已经分配好了的创建线程就省下了分配资源开销。一个线程就是一个 执行流. 每个线程之间都可以按照顺讯执行自己的代码. 多个线程之间 同时 执行着多份代码。 一个进程中的多个线程之间共用同一份系统资源 1.内存空间 2.文件描述符表 操作系统真正调度的是在调度线程而不是进程。 线程是操作系统调度运行的基本单位 进程是操作系统资源分配的基本单位 举例滑稽老铁吃鸡 多进程吃鸡 多线程吃鸡 并不是线程越多越好如果线程过多会影响系统的效率如果一个线程出现了异常可能会导致此进程中的所有线程全部崩溃 二、为什么要有线程 首先, 并发编程 成为 刚需. 单核 CPU 的发展遇到了瓶颈. 要想提高算力, 就需要多核 CPU. 而并发编程能更充分利用多核 CPU资源.有些任务场景需要 等待 IO, 为了让等待 IO 的时间能够去做一些其他的工作, 也需要用到并发编程.其次, 虽然多进程也能实现 并发编程, 但是线程比进程更轻量. 创建线程比创建进程更快.销毁线程比销毁进程更快.调度线程比调度进程更快.最后, 线程虽然比进程轻量, 但是人们还不满足, 于是又有了 线程池(ThreadPool) 和 协程 (Coroutine) 三、进程和线程的区别 1.进程包含线程 2.进程有自己独立的内存空间和文件描述符表同一个进程中的多个线程之间共用同一份地址空间和文件描述符表 3.进程是操作系统资源分配的基本单位线程是操作系统调度执行的基本单位 4.进程之间具有独立性一个进程挂了不会影响其他的进程同一个进程里面的线程挂了可能会有全部的线程都挂掉 3.1 java线程和操作系统线程的关系 线程是操作系统中的概念. 操作系统内核实现了线程这样的机制, 并且对用户层提供了一些 API 供用户使用(例如 Linux 的 pthread 库). Java 标准库中 Thread 类可以视为是对操作系统提供的 API 进行了进一步的抽象和封装. 四、线程的创建 方法1继承Thread类 1) 继承 Thread 来创建一个线程类. class MyThread extends Thread { Override public void run() { System.out.println(hello world);} } 2) 创建 MyThread 类的实例   MyThread t new MyThread(); 3) 调用 start 方法启动线程   t.start(); // 线程开始运行 上述代码涉及俩个线程 1.main方法所对应的线程一个进程里面至少得有一个线程也可以成为主线程 2.通过t.start()创建的新的线程   方法二实现Runnable接口 1) 实现 Runnable 接口 class MyRunnable implements Runnable { Override public void run() { System.out.println(这里是线程运行的代码);} } 2) 创建 Thread 类实例, 调用 Thread 的构造方法时将 Runnable 对象作为 target 参数. Thread t new Thread(new MyRunnable()); 3) 调用 start 方法 t.start(); // 线程开始运行   第一种写法是使用Thread的run描述线程入口 第二章写法是使用Runnable interface 来描述线程入口 没有本质区别 方法三继承Thread使用匿名内部类 public class ThreadDemo1 {public static void main(String[] args) {Thread t new Thread(){Overridepublic void run(){while (true){System.out.println(hello t Thread.currentThread().getName());try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}};t.start();} }   第四种实现Runnable使用匿名内部类内部类定义在类里面的类 public class MyRunnable2 {public static void main(String[] args) {Thread t new Thread(new Runnable() {Overridepublic void run() {System.out.println(hello t);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}});t.start();} }  { 放到哪里就是针对哪个类创建的匿名内部类 第五种使用Lambda表达式最简单直观的方法 lambda表达式的基本写法-{ } public class MyThreadDemo3 {public static void main(String[] args) {Thread t new Thread(() - {while (true){System.out.println(hello tThread.currentThread().getName());try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}});t.start();} }   五、需要主要的几个地方 1.sleep是Thread的静态方法参数单位是ms1s 1000ms。 2.t.strat()是调用操作系统的api创建新线程新的线程里调用t.run另外启动了一个执行流新的线程来执行另一个while循环。 3.如果调用的是t.run(),而不是t.start(),那么只会有一个线程来执行也就是只有一个循环进入第一个死循环就出不去了如下图      4.run叫入口方法是一个特殊的方法只是重写了父类的方法然后这个方法就被Java自动执行到了。 当我们的代码在运行时可以使用JDK自身带的软件去查看线程 描述线程中的代码执行到哪里了 六、Thread类里面的一些其他方法 Thread 类是 JVM 用来管理线程的一个类换句话说每个线程都有一个唯一的 Thread 对象与之关联。 用我们上面的例子来看每个执行流也需要有一个对象来描述类似下图所示而 Thread 类的对象就是用来描述一个线程执行流的JVM 会将这些 Thread 对象组织起来用于线程调度线程管理。 方法说明Thread()创建线程对象Thread(Runnable target)使用 Runnable 对象创建线程对象Thread(String name)创建线程对象并命名Thread(Runnable target, String name)使用 Runnable 对象创建线程对象并命名【了解】Thread(ThreadGroup group, Runnable target)线程可以被用来分组管理分好的组即为线程组这 个目前我们了解即可 6.1Thread几个常见属性 属性获取方法IDgetId()名称getName()状态getState()优先级getPriority()是否后台线程isDaemon()是否存活isAlive()是否被中断isInterrupted()关于后台线程需要记住一点JVM会在一个进程的所有非后台线程结束后才会结束运行。 isDaemon设置为true表示是后台线程false是前台线程前台线程会阻止java进程结束必须得java进程中所有得前台线程都执行完java进程才能结束创建的线程默认是前台的。
http://www.hkea.cn/news/14490815/

相关文章:

  • 网站建设评估体系住房建设部官方网站设计费计取
  • 大兴专业网站建设公司公司如何进行网络推广
  • 2017做哪些网站致富怎么网上接网站开发单自己做
  • 福建建设执业管理中心网站网站建设襄阳
  • 秒收录网站深圳网站设计合理刻
  • 域名对网站排名的影响个人网站介绍模板
  • 网站网页设计0基础学保定seo关键词优化外包
  • 中卫网站建设多少钱安卓手机做网站
  • 外贸网站搭建难不难网站设计目标 优帮云
  • 求个网站谢谢啦网站后台jsp怎么做分页
  • 企业网站快速排名厦门购买域名以后搭建网站
  • 湖南城乡住房建设厅网站苏州响应式网站建设
  • 诚信通开了网站谁给做深圳出台科技支持政策
  • 网站搜索引擎优化方案百度竞价托管哪家好
  • 网站建设的基本元素备案做电影网站吗
  • 织梦文章类网站模板网站定制开发注意事项
  • 商城网站的psd模板免费下载2网站建设总结
  • 工信部网站备案进度查询眉山网站建设哪家好
  • 鞍山网站建设公司wordpress 相册模板
  • 江苏中盛建设集团网站网站建设与管理教学视频下载
  • 常州好的网站设计公司崇左网站建设公司
  • node 做的大型网站网站后台怎么上传网页模板
  • 海沧做网站企业型网站建设制作平台
  • 绵阳建设招投标在哪个网站网站开发三层结构
  • 张家港百度网站制作没有网站怎么做CPC
  • 外贸网站建设 东莞宿迁二手房58同城急售
  • 重庆江北营销型网站建设公司哪家好网站开发者id
  • 西安网站建设 乐云seo价格低性价高的手机
  • 科技公司网站设计欣赏网站建设需要会什么软件有哪些
  • 网站权重降低做游戏网站需要哪些许可