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

宁波手机网站开发公司用dw做一个简单的网页

宁波手机网站开发公司,用dw做一个简单的网页,wordpress 页面压缩,科技的意义和价值【0】README 0.1#xff09; 本文描述转自 core java volume 1#xff0c; 源代码为原创#xff0c;旨在理解 java线程——中断线程线程状态线程属性#xff08;优先级#xff09; 的相关知识#xff1b; 【1】中断线程 1.1#xff09;当线程的run方法执行方法体中最…【0】README 0.1 本文描述转自 core java volume 1 源代码为原创旨在理解 java线程——中断线程线程状态线程属性优先级 的相关知识 【1】中断线程 1.1当线程的run方法执行方法体中最后一条语句后 并经由return语句返回时 或出现了在方法中没有捕获的异常时线程将终止 1.2强制线程终止 interrupt 方法可以用来请求终止线程 1.2.1判断线程是否已经终止 Thread.currentThread().isInterrupted()1.2.2但是如果线程被阻塞 就无法检测中断状态这是产生 InterruptedException异常的地方 public void run() {try{while(!Thread.currentThread().isInterrupted()).....}catch(){}finally(){} } 1.2.3中断状态时的线程调用 sleep 不仅不会休眠 相反 抛出IntertupptedException Annotation有两个非常类似的方法 interrupted 和 isInterrupted A1Interrupted 方法是一个静态方法 它检测当前的线程是否中断 而且该方法会清除该线程的中断状态A2isInterrupted 方法是一个实例方法 可用来检验是否有线程被中断 调用这个方法不会改变中断状态 1.3有两种方法用来抛出 InterrupttedException 1.3.1在catch 子句中调用 Thread.currentThread().interrrupt() 来设置中断状态 void fun() {try{}catch(){ Thread.currentThread().interrupte();} } 1.3.2或者用throws 标记你的方法 不采用 try 语句块捕获这个异常 void func() throws InterruptedException {sleep(delay); } 【2】线程状态 2.1线程有6种状态status S1 new新创建S2 Runnable可运行S3 Blocked被阻塞S4 Waiting等待S5 Timed waiting计时等待S6 Terminated被终止Attention记住 在任何时刻一个可运行线程可能正在运行也可能没有运行这就是为什么将这个状态称为 可运行而不是 运行 【3】被阻塞线程和等待线程 3.1阻塞状态当一个线程试图获取一个内部的对象锁而该锁被其他线程持有 则该线程进入阻塞状态 3.2等待状态当线程等待另一个线程通知调度器一个条件时 它进入等待状态在调用 Object.wait 或 Thread.join 方法 或是等待java.util.concurrent 库中的Lock 或 Condition时 就会出现这种case 3.3超时参数调用它们导致线程进入计时等待状态 这一状态将一直保持到超时期满或者接收到适当的通知 方法有Thread.sleep , Object.wait, Thread.join, Lock.tryLock ,Condition.await 【4】被终止的线程 4.0终止的原因Reasons R1因为run方法正常退出而终止R2因为一个没有捕获的异常终止了run方法而意外死亡 M1start方法开启线程抑或是分配CPU 它执行Runnable接口的 run 方法M2yield()方法的作用是暂停当前正在执行的线程对象并执行其他线程。M3Thread的非静态方法join()方法让一个线程B“加入”到另外一个线程A的尾部。在A执行完毕之前B不能工作。例如 Thread t new MyThread(); t.start(); t.join(); M3.1另外join()方法还有带超时限制的重载版本。 例如t.join(5000);则让线程等待5000毫秒如果超过这个时间则停止等待变为可运行状态。 线程的加入join()对线程栈导致的结果是线程栈发生了变化当然这些变化都是瞬时的。下面给示意图 M4Thread.sleep方法 使当前线程睡眠至少多少毫秒M5 void notify() 唤醒在此对象监视器上等待的单个线程。 M6 void notifyAll() 唤醒在此对象监视器上等待的所有线程。 M7 void wait() 导致当前的线程等待直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。M8synchronized 同步方法或同步块的关键字 【5】线程属性 5.1线程优先级 5.1.1设置线程的优先级线程默认的优先级是创建它的执行线程的优先级。可以通过setPriority(int newPriority)更改线程的优先级。例如 Thread t new MyThread(); t.setPriority(8); t.start(); 线程优先级为1~10之间的正整数JVM从不会改变一个线程的优先级。 5.1.1.1线程默认优先级是5Thread类中有三个常量定义线程优先级范围5.1.1.2static int MAX_PRIORITY 线程可以具有的最高优先级。 5.1.1.3static int MIN_PRIORITY 线程可以具有的最低优先级。 5.1.1.4static int NORM_PRIORITY 分配给线程的默认优先级 5。 5.2守护线程 5.2.1通过调用 t.setDaemon(true) 来将线程转换为 守护线程daemon thread5.2.2守护线程的唯一用途 为其他线程提供服务5.2.3看个荔枝计时线程就是一个荔枝。它定时发送“计时器滴答”信号给其他线程或清空过时的高速缓存项的线程。当只剩下守护线程时 虚拟机就退出了因为如果只有守护线程 就没必要继续运行程序了 5.3未捕获异常处理器 5.3.1出现的问题 线程的run方法不能抛出任何被检测的异常 但是不被检测的异常会导致线程死亡5.3.2解决方法在线程死亡之前 异常被传递到一个用于未捕获异常的处理器 5.3.2.1该处理器必须属于一个实现了 Thread.UncaughtExceptionHandler 接口的类。 这个接口只有一个方法 void uncaughtExceptionHandler 5.3.2.2可以用 setUncaughtExceptionHandler 方法为任何线程安装一个 处理器。 也可以用 Thread的静态方法 setDefaultUncaughtExceptionHandler 为所有线程安装一个默认处理器5.3.2.3如果不安装默认的处理器 默认处理器就为空。 但是如果不为独立的线程安装处理器此时的处理器就是该线程的 ThreadGroup 对象了但是建议不要在程序中使用线程组 ThreadGroup
http://wiki.neutronadmin.com/news/216647/

相关文章:

  • 乐清企业网站建设团关系转接网站建设
  • 网站建设实训意见网站建设前期需要干嘛
  • 网站规划包括哪些内容手机百度关键词排名 seo网站优化软件
  • 四川城乡和住房建设厅网站首页vs做网站时怎么弹出窗口
  • 潍坊集团网站建设昆明有哪些帮忙做网站的公司
  • 用动物做网站名做行业网站投入
  • 学校网站php源码|班级主页教师博客学生博客|学校网站织梦仿视频直播间
  • 局域网网站建设需要什么条件佛山seo网站排名
  • 怎样选择网站建设梁建国设计公司官网
  • 新网站制作市场直播带货实训总结报告
  • 如何做好网站优化中国跨境电商平台排名
  • 网站上传权限网件路由器登陆网址
  • 长沙 建网站wordpress用什么编辑器好
  • 网站平台建设步骤四川建设机械网站首页
  • 静态网站源码下载辽宁省建设工程造价管理网站
  • 建设银行北京东四支行网站广州营销型网站建设
  • 伯爵手表网站wordpress cascade
  • 企业网站需要什么功能私人可以做org后缀网站吗
  • 深圳网站建设深圳视频医疗平台网站开发
  • 个人网站的设计论文网站做排名有用吗
  • 网站备案号怎么添加网站排名 算法
  • 极品wordpress素材教程网站备案网站转入阿里云
  • 网站没有做实名认证衡阳做网站ss0734
  • 域名证书查询网站wordpress in排序
  • 罗湖网站的建设专业的网站建设公司哪家好
  • 承包工程在哪个网站兰州家易选网络科技有限公司
  • 上海医疗网站建设个人注册公司需要什么手续
  • 做垂直行业网站利润分析wordpress调用文章的tags
  • 网站规划建设与管理维护教程与实训wordpress ecommerce
  • 沈阳网站建设 南塔院感质控中心网站建设 申请