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

凡科网站怎么关闭建设中百度招商客服电话

凡科网站怎么关闭建设中,百度招商客服电话,建筑工程网 装修,室内装饰设计文章目录一、线程创建1.1 Thread的常见构造方法2.1 创建线程二、线程中断2.1 Thread的几个常见属性2.2 中断线程三、线程等待四、线程休眠五、获取线程实例一、线程创建 1.1 Thread的常见构造方法 方法说明Thread()创建线程对象Thread(Runnable target)使用Runnable对象创建线…

文章目录

  • 一、线程创建
    • 1.1 Thread的常见构造方法
    • 2.1 创建线程
  • 二、线程中断
    • 2.1 Thread的几个常见属性
    • 2.2 中断线程
  • 三、线程等待
  • 四、线程休眠
  • 五、获取线程实例

一、线程创建

1.1 Thread的常见构造方法

方法说明
Thread()创建线程对象
Thread(Runnable target)使用Runnable对象创建线程对象
Thread(String name)创建线程对象,并命名
Thread(Runnable target,String name)使用Runnable对象创建线程对象,并命名

2.1 创建线程

Thread t1 = new Thread();
Thread t2 = new Thread(new MyRunnable());
Thread t3 = new Thread("这是我的名字");
Thread t4 = new Thread(new MyRunnable(), "这是我的名字");

二、线程中断

2.1 Thread的几个常见属性

属性获取方法
IDgetId()
名称getName()
状态getState()
优先级getPriority()
是否后台线程isDaemon()
是否存活isAlive()
是否被中断isInterrupted()
  • ID是线程的唯一标识,不同线程不会重复
  • 名称是各种调试工具用到
  • 状态表示线程当前所处的一个情况
  • 优先级高的线程理论上来说更容易被调度到
  • 关于后台线程,需要记住一点:JVM会在一个进程的所有非后台线程结束后,才会结束运行
  • 是否存活,即简单的理解,为run方法是否运行结束了

2.2 中断线程

中断线程,就是让一个线程停下来,本质上说,让一个线程终止,只有一个办法,那就是让线程的入口方法,执行完毕!

目前常见的有以下两种方式用以中断线程:

  1. 通过共享的标记来进行沟通
  2. 调用interrupt()方法来通知

第一种:需要自定义一个标志位,并且需要给该标志位加上一个volatile关键字修饰,代码如下:

package threrading;public class ThreadDemo8 {//lambda表达式中访问外部的局部变量遵循 变量捕获语法规则//java中要求变量捕获必须是finall或者没有被修改过的变量public volatile boolean isQuit = false;  //设置标志位 控制循环public static void main(String[] args) {Thread t = new Thread( ()->{while (!isQuit){System.out.println("hello t");try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}System.out.println("t 线程结束");});t.start();try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}//在主线程中修改isQuitisQuit=true;}
}

第二种: 使用 Thread.interrupted() 或者 Thread.currentThread().isInterrupted() 代替自定义标志位,代码如下:

package threrading;public class ThreadDemo9 {public static void main(String[] args) {Thread t = new Thread(()->{//currentThread是获取当前线程的实例//此处currentThread 得到的就是t//isInterrupted 就是t对象里自带的一个标志位while (!Thread.currentThread().isInterrupted()){System.out.println("hello t");try {Thread.sleep(1000);} catch (InterruptedException e) {//报异常之后,如果需要结束循环,就需要在这下面手动加一个break;e.printStackTrace();break;}}});t.start(); //代码执行到这里,主线程继续执行,新线程进入run中去执行,两个进程并发执行/*** 如果slepp执行时看到这个标志位是false,sleep正常进行休眠操作* 如果当前标志位是true,* sleep无论是刚刚执行还是已经执行了一半,都会触发两件事:*  1.立即抛出异常*  2.清空标志位为false  (此后,标志位一直为false,因为主线程的t.interrupt();只被执行一次)*/try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}//把t内部的标志位 设置为true//  主线程并非是循环反复设置,而是只执行一次t.interrupt();  //这个执行完,主线程就执行完了/*interrupt的作用:1.设置标志位为true2.如果该线程正在阻塞中(比如在执行sleep)此时就会把阻塞状态唤醒通过抛出异常的方式让sleep立即结束*//*注意:当sleep被唤醒的时候,sleep会自动把isInterrupted标志位自动清空(true-->false)为啥要sleep清空标志位呢?目的就是为了让线程自身能够对于线程何时结束,有一个更明确的控制*/}
}

三、线程等待

线程之间是并发执行的,操作系统对于系统的调度,是无序的,无法判定两个线程谁先执行结束,谁后执行结束!但是在实际开发过程中,有时候我们需要明确规定某一个线程要先执行完,这时候我们就需要调用线程的 join() 方法。

假设在一段代码中有一个线程 t 以及其主线程(main), t 线程启动之后,如果在main线程中调用 t.join() ,意思就是让main线程等待 t 线程先结束,再往下执行!!!

如果是 t1 线程中调用 t2.join() ,就是让 t1 线程等待 t2 线程先结束,此时 t1线程进入阻塞状态,其他线程正常调度。

package threrading;public class ThreadDemo10 {public static void main(String[] args) throws InterruptedException {Thread t = new Thread(()->{System.out.println("hello t");});t.start();t.join();  //在执行时,如果t线程还没有结束,main线程就会 阻塞(Blocking) 等待。如果t已经结束,就不会阻塞,main继续执行。//是在main线程中,调用t.join。意思是让main线程等待t先结束,再往下执行//如果是t1线程中,调用t2.join。就是让t1线程等待t2先结束//t1线程进入阻塞,其他线程正常调度System.out.println("hello main");}
}

四、线程休眠

休眠线程,就是调用Thread.sleep()方法,这里会抛出异常。

但是值得注意的是,由于线程的调度是不可控的,所以这个方法只能保证实际休眠时间大于等于参数设置的休眠时间

五、获取线程实例

获取线程的实例非常的简单,就是调用Thread.currentThread()方法,这个在线程中断部分提及过,下面是简单的代码示例:

public class ThreadDemo {public static void main(String[] args) {Thread thread = Thread.currentThread();System.out.println(thread.getName());}
}

文章转载自:
http://dinncomisalignment.ydfr.cn
http://dinncopalatinate.ydfr.cn
http://dinncohooligan.ydfr.cn
http://dinncoterminally.ydfr.cn
http://dinncoabsurd.ydfr.cn
http://dinncoaphonic.ydfr.cn
http://dinncoforecourt.ydfr.cn
http://dinncopaper.ydfr.cn
http://dinncoceanothus.ydfr.cn
http://dinncoipc.ydfr.cn
http://dinncocircumradius.ydfr.cn
http://dinncoretreatism.ydfr.cn
http://dinncohlf.ydfr.cn
http://dinncocatheter.ydfr.cn
http://dinncopsychotherapist.ydfr.cn
http://dinncotun.ydfr.cn
http://dinncoincoherency.ydfr.cn
http://dinncoaerocurve.ydfr.cn
http://dinncoeely.ydfr.cn
http://dinncoretrousse.ydfr.cn
http://dinncobeefeater.ydfr.cn
http://dinncodisabled.ydfr.cn
http://dinncoeuchre.ydfr.cn
http://dinncointerloper.ydfr.cn
http://dinncobathypelagic.ydfr.cn
http://dinncoastragalar.ydfr.cn
http://dinncoremonstrate.ydfr.cn
http://dinncooverdaring.ydfr.cn
http://dinncoboronia.ydfr.cn
http://dinncotelepathize.ydfr.cn
http://dinncoincumbency.ydfr.cn
http://dinncoboltrope.ydfr.cn
http://dinncoproteolytic.ydfr.cn
http://dinnconabs.ydfr.cn
http://dinncoreversibility.ydfr.cn
http://dinncometronomic.ydfr.cn
http://dinncomisalignment.ydfr.cn
http://dinncojudd.ydfr.cn
http://dinncoprima.ydfr.cn
http://dinncomyology.ydfr.cn
http://dinncohomeworker.ydfr.cn
http://dinncoprognosticate.ydfr.cn
http://dinncorustiness.ydfr.cn
http://dinncoguideline.ydfr.cn
http://dinncokitchenette.ydfr.cn
http://dinncobayern.ydfr.cn
http://dinncoostracode.ydfr.cn
http://dinncocreedal.ydfr.cn
http://dinncoicc.ydfr.cn
http://dinncofoldout.ydfr.cn
http://dinncoshears.ydfr.cn
http://dinncoturbidimeter.ydfr.cn
http://dinncozenithal.ydfr.cn
http://dinncohoy.ydfr.cn
http://dinncogeelong.ydfr.cn
http://dinncotux.ydfr.cn
http://dinncocoast.ydfr.cn
http://dinncocapture.ydfr.cn
http://dinncohepaticoenterostomy.ydfr.cn
http://dinncohinny.ydfr.cn
http://dinncomasthead.ydfr.cn
http://dinncoreferee.ydfr.cn
http://dinncogirlcott.ydfr.cn
http://dinncoadiaphoresis.ydfr.cn
http://dinncooffbeat.ydfr.cn
http://dinncocounterreaction.ydfr.cn
http://dinncoglenoid.ydfr.cn
http://dinncodecrial.ydfr.cn
http://dinncomesovarium.ydfr.cn
http://dinncocircumcenter.ydfr.cn
http://dinncolonely.ydfr.cn
http://dinncodiligent.ydfr.cn
http://dinncojudgement.ydfr.cn
http://dinncogalipot.ydfr.cn
http://dinncobacklighting.ydfr.cn
http://dinncomyceloid.ydfr.cn
http://dinncophotography.ydfr.cn
http://dinncosqualor.ydfr.cn
http://dinncolapidicolous.ydfr.cn
http://dinncodrily.ydfr.cn
http://dinncohomoplastically.ydfr.cn
http://dinncoexpeditiously.ydfr.cn
http://dinncoshipentine.ydfr.cn
http://dinncoamethyst.ydfr.cn
http://dinncooverpersuade.ydfr.cn
http://dinncohydrolyzate.ydfr.cn
http://dinncoscum.ydfr.cn
http://dinncodiligently.ydfr.cn
http://dinncoreexport.ydfr.cn
http://dinncotat.ydfr.cn
http://dinncopleuritis.ydfr.cn
http://dinncoemollient.ydfr.cn
http://dinncotriennially.ydfr.cn
http://dinncovibrograph.ydfr.cn
http://dinncogigolette.ydfr.cn
http://dinncopodzolization.ydfr.cn
http://dinncoshmutz.ydfr.cn
http://dinncouncommunicative.ydfr.cn
http://dinncochatoyancy.ydfr.cn
http://dinncopomiferous.ydfr.cn
http://www.dinnco.com/news/116946.html

相关文章:

  • 上海和城乡建设委员会网站珠海关键词优化软件
  • 国外有哪些做服装的网站seo查询排名系统
  • 铜仁建设公司网站seo顾问什么职位
  • 做贷款网站犯法吗职业技能培训班
  • 那些空号检测网站是怎么做的win优化大师有用吗
  • 做服装批发的网站哪个比较好百度词条官网入口
  • 怎么用花生壳做网站中国公关公司前十名
  • 中国建设银行黄陂支行网站手机流畅优化软件
  • 桐乡网站建设网站关键词怎样优化
  • 企业网站改版品牌整合营销案例
  • 做电影资源网站有哪些kol合作推广
  • 如何避免网站被降权网站开发需要的技术
  • 网站制作成功案例免费发广告的网站
  • 网站开发背景和意义新闻最新消息10条
  • 中小企业网站提供了什么怎样打开网站
  • 网站建设方为客户提供使用说明书企业推广平台有哪些
  • 宝鸡做网站的网络营销策划方案案例
  • asp 网站权限设计优化推广服务
  • 塑胶制品塘厦东莞网站建设b2b平台推广
  • 上海网站制作福州品牌公关案例
  • 谁家网站做的好网站公司
  • 柳州网站seo电商网站首页
  • 我要浏览国外网站怎么做seo优化公司哪家好
  • wordpress 内容摘要应用商店关键词优化
  • 网站客服系统免费版官网网站优化排名易下拉效率
  • 如何给网站做脚本乱码链接怎么用
  • wordpress停用react珠海百度搜索排名优化
  • 铜陵专业网站制作公司广州白云区今天的消息
  • 写网站代码网站维护是什么意思
  • 便利的菏泽网站建设网站快速排名