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

pc 移动的网站开发asp 个人网站

pc 移动的网站开发,asp 个人网站,雄安免费网站建设电话,河南网站建设公文章目录一、线程创建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 中断线程 中断线程就是让一个线程停下来本质上说让一个线程终止只有一个办法那就是让线程的入口方法执行完毕 目前常见的有以下两种方式用以中断线程 通过共享的标记来进行沟通调用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();}//在主线程中修改isQuitisQuittrue;} } 第二种 使用 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执行时看到这个标志位是falsesleep正常进行休眠操作* 如果当前标志位是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://www.w-s-a.com/news/96179/

相关文章:

  • 畜牧业网站建设官方网站下载拼多多app
  • 网站规划和布局备案网站地址
  • 站长工具流量统计招工信息发布平台
  • 上海网站建设公司排行建设无障碍网站
  • phpcms网站打不开网页制作网站设计稿
  • 博客网站开发环境wordpress 中英文双语
  • 做网站报价表群辉装wordpress
  • 请人做游戏的网站视觉设计师的工作内容
  • 昆明网站建设知名企业博客网站开发
  • 如何做网站网页免费thinkphp网站后台模板
  • 怎么自己做优惠券网站济南小程序开发
  • 南昌网站专业制作做仿站如何获取网站源码
  • qq钓鱼网站wordpress 企业站模板
  • 推进文明网站建设免费设计公司logo设计
  • 做电脑租赁网站server 2008 网站部署
  • 做网站的公司一年能赚多少钱wordpress作者增加分类插件
  • 苏州尚云网站建设专业摄影网站推荐
  • 020网站开发微信公众号直接链接网站怎么做
  • 学做烘焙的网站某网站注册需要邮箱是怎么弄
  • 网站的特效代码公司网站开发的工作内容
  • 网站制作哪家好商城网站建设预算要多少钱
  • 怎么做律所的官方网站微网站可以做商城吗
  • 通用网站后台管理系统(php版)网站备案ip查询网站查询
  • 制作网站代码吗江阴网站建设推广
  • 汕头建网站wordpress文章网址采集
  • 十大景观设计网站用vue框架做的网站
  • 福建省建设监理网官方网站做外贸网站卖什么东西好
  • 公司做网站排名东莞关键词优化推广
  • 连云港做企业网站公司全网营销与seo
  • 电子毕业设计代做网站wordpress 插件放在那