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

做电影网站有什么好处和坏处wordpress 付费会员分类

做电影网站有什么好处和坏处,wordpress 付费会员分类,设计策划网站,广告公司手机网站建设常见方法 start()与run() 主线程直接调用某个线程t1的run()方法#xff0c;run方法也会执行#xff0c;但是并不会启动新的线程#xff0c;而是有主线程调用的run方法#xff0c;必须使用start才能启动新线程#xff0c;但是start只能调用一次。 sleep()与yield() sle…常见方法 start()与run() 主线程直接调用某个线程t1的run()方法run方法也会执行但是并不会启动新的线程而是有主线程调用的run方法必须使用start才能启动新线程但是start只能调用一次。 sleep()与yield() sleep: sleep可以使一个线程的状态由RUNNING变为TIMED_WAITING。sleep() 方法的过程中线程不会释放对象锁 使用sleep可以防止CPU占用100% while(true) {try {Thread.sleep(2);} catch (InterruptedException e) {throw new RuntimeException(e);} }可以使用wait或条件变量达到类似的效果不同的是这两种都需要加锁并且需要相应的唤醒操作。sleep适用于无锁同步的场景。 yield: 允许具有相同优先级的其他线程获得运行机会。会放弃 CPU 资源锁资源不会释放 join方法 当调用某个线程t1的join方法后该线程t1抢占到CPU资源就不再释放直到线程执行完毕。join本质上是一个对象锁是被synchronized修饰的。 join实现线程同步因为会阻塞等待另一个线程的结束才能继续向下运行 需要外部共享变量不符合面向对象封装的思想必须等待线程结束不能配合线程池使用 interrupt public void interrupt()打断当前线程 当打断阻塞sleep、wait、join 方法都会让线程进入阻塞状态的线程是会抛出一个异常其会清空打断状态也即打断标记为false。如果在一个线程执行sleep之前就已经执行了interrupt方法那么当他执行到sleep会立即抛出异常。当打断一个正常的线程时不会抛出异常而且不会清空打断状态也即打断标记为true。 public boolean isInterrupted()判断当前线程是否被打断打断返回true不清除打断标记。public static boolean interrupted()判断当前线程是否被打断打断返回true清除打断标记连续调用两次一定返回false。 关于interrupt有一个设计模式即终止模式之两阶段终止模式Two Phase Termination daemon public final void setDaemon(boolean on)如果是 true 将此线程标记为守护线程在start之前调用该方法。 守护线程只要其它非守护线程运行结束了即使守护线程代码没有执行完也会强制结束。守护进程是脱离于终端并且在后台运行的进程 常见的守护线程 垃圾回收器线程就是一种守护线程Tomcat 中的 Acceptor 和 Poller 线程都是守护线程所以 Tomcat 接收到 shutdown 命令后不会等待它们处理完当前请求 线程的状态 在操作系统中有5种状态新建、就绪、运行、阻塞、死亡。而在Java种则是由不同的定义Thread.State中给了Java中线程的6个状态 public enum State {NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED;}其中RUNNABLE就包括了操作系统种的就绪、运行、阻塞三种状态。 线程状态导致状态发生条件NEW新建线程刚被创建但是并未启动还没调用 start 方法只有线程对象没有线程特征Runnable可运行线程可以在Java虚拟机中运行的状态可能正在运行自己代码也可能没有这取决于操作系统处理器调用了t.start()方法就绪经典叫法Blocked阻塞当一个线程试图获取一个对象锁而该对象锁被其他的线程持有则该线程进入Blocked状态当该线程持有锁时该线程将变成 Runnable 状态Waiting无限等待一个线程在等待另一个线程执行一个唤醒动作时该线程进入Waiting状态进入这个状态后不能自动唤醒必须等待另一个线程调用 notify 或者 notifyAll 方法才能唤醒Timed Waiting 限期等待有几个方法有超时参数调用将进入Timed Waiting状态这一状态将一直保持到超时期满或者接收到唤醒通知。带有超时参数的常用方法有Thread.sleep 、Object.waitTeminated结束run方法正常退出而死亡或者因为没有捕获的异常终止了 run 方法而死亡 package com.qcby.case1;import lombok.extern.slf4j.Slf4j;Slf4j public class Test5 {public static void main(String[] args) throws InterruptedException {// t1处于NEWThread t1 new Thread(t1);// t2一定能执行完处于TERMINATEDThread t2 new Thread(() - {}, t2);// t3处于RUNNABLEThread t3 new Thread(() - {while (true) {}}, t3);// t4和t5都尝试取获取同一个类锁// 那么先获取到的处于TIMED_WAITING// 后获取到的处于BLOCKEDThread t4 new Thread(() - {synchronized (Test5.class) {try {Thread.sleep(10000);} catch (InterruptedException e) {throw new RuntimeException(e);}}}, t4);Thread t5 new Thread(() - {synchronized (Test5.class) {try {Thread.sleep(10000);} catch (InterruptedException e) {throw new RuntimeException(e);}}}, t5);// t6进入Waiting状态需要等待t4执行完毕才被唤醒Thread t6 new Thread(() - {try {t4.join();} catch (InterruptedException e) {throw new RuntimeException(e);}}, t6);t2.start();t3.start();t4.start();t5.start();t6.start();Thread.sleep(1000);log.info(t1的状态是{}, t1.getState());log.info(t2的状态是{}, t2.getState());log.info(t3的状态是{}, t3.getState());log.info(t4的状态是{}, t4.getState());log.info(t5的状态是{}, t5.getState());log.info(t6的状态是{}, t6.getState());}}
http://www.w-s-a.com/news/723269/

相关文章:

  • 安踏网站建设策划方案如何通过域名访问网站
  • 建设网站破解版seo查询 站长之家
  • 太原模板建站平台旅游企业网站建设工作的通知
  • 网站国外建设超级简历模板官网
  • 上海网站建设市场医药网站怎么做
  • 宁夏成城建设集团网站网店美工课本
  • 哪些网站的简历做的比较好政务服务 网站 建设方案
  • 如何建设个人网站凡科怎么样vps安装wordpress后怎样登录
  • 学seo朝阳区seo
  • 网站开发团队成员皮具网站建设
  • 国外外贸需求网站响应式布局网页
  • 手机端便民服务平台网站建设昆明网络哪家好
  • 产品网站建设找哪家舟山信息港
  • 唐山网站建设汉狮怎么样seol英文啥意思
  • 深圳小程序网站开发公司网页制作模板视频教程
  • 电子商务网站开发开题报告wordpress更改后台地址
  • 网站静态前端是什么工作
  • 餐饮门户网站 方案怎么做创业好项目
  • 做百度手机网站推广普通话的宣传标语
  • 记事本可以做网站吗网站服务器是主机吗
  • 手机网站被拦截怎么办怎么解决东营建设信息网网
  • 外贸网站模板免费微信网站开发技术
  • 视频盗版网站怎么做福州网站seo
  • 成都金铭 网站建设做网站包含的技术
  • 长沙的网站建设公司哪家好做网站应选那个主题
  • 公司网站百度搜不到如何自己做一个网站
  • 学生如何建设网站网站开发程序
  • 网站建设公司哪家好 皆来磐石网络网站建设"淘宝网" 在颜色选取和搭配方面有哪些值得学习的地方.
  • 网站如何做移动规则适配北京住房与城乡建设部网站
  • 课堂阵地建设网站wordpress运行机制