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

做网站卖产品投资大嘛设计一个网站的价格表

做网站卖产品投资大嘛,设计一个网站的价格表,高德地图可以搜索国外吗,手工制作飞机图形说明: Thread.State源码注释: public enum State {/*** 新生状态#xff1a;线程对象创建#xff0c;但是还未start()*/NEW,/*** 线程处于可运行状态#xff0c;但是这个可运行状态并不代表线程一定在虚拟机中执行。* 需要等待从操作系统获取到资源(比如处理器时间片…图形说明: Thread.State源码注释: public enum State {/*** 新生状态线程对象创建但是还未start()*/NEW,/*** 线程处于可运行状态但是这个可运行状态并不代表线程一定在虚拟机中执行。* 需要等待从操作系统获取到资源(比如处理器时间片)才能真正的去运行*/RUNNABLE,/*** 当前线程处于阻塞状态正在等待另一个线程的monitor lock释放才进入synchronized代码块或方法*/BLOCKED,/*** 调用Object#wait() 、 Thread.join方法后当前线程处于等待状态* 等待其他的线程执行特定的动作才能从等待状态退出。* 比如Object.wait()的线程需要等待其他线程调用Object.notify()、Object.notifyAll()才能退出* 比如调用了Thread.join()的线程需要等待指定的线程执行完成才能退出等待状态。*/WAITING,/*** 进入特定时间内的等待状态等待一段指定的时间sleep(timed)、wait(timed)或者等待Thread.join(timed)的时间.* 到达指定时间点自动退出恢复到RUNNABLE状态*/TIMED_WAITING,/*** 线程结束状态*/TERMINATED; }代码示例: NEW状态: public class ThreadState {public static void main(String[] args) throws Exception {Thread thread new Thread();System.out.println(thread.getState());} }结果: RUNNABLE状态: public static void main(String[] args) throws Exception {Thread thread new Thread(()- {while (true){Thread.yield();}});thread.start();Thread.sleep(2000);System.out.println(thread.getState());} }结果: WAITING状态: public static void main(String[] args) throws Exception {Thread thread new Thread(()- {LockSupport.park();while (true){Thread.yield();}});thread.start();Thread.sleep(50);System.out.println(thread.getState());LockSupport.unpark(thread);Thread.sleep(50);System.out.println(thread.getState());}结果: join方法代码: 可见Thread#join()是在线程实例存活的时候总是调用Object#wait()方法也就是必须在线程执行完毕isAlive()为false意味着线程生命周期已经终结的时候才会解除阻塞。 TIMED WAITING状态: public static void main(String[] args) throws Exception {Thread thread new Thread(()- {try {Thread.sleep(1000);} catch (InterruptedException e) {//ignore}});thread.start();thread.notify();Thread.sleep(50);System.out.println(thread.getState());Thread.sleep(1000);System.out.println(thread.getState());}结果: BLOCKED状态: BLOCKED状态也就是阻塞状态该状态下的线程不会被分配CPU执行时间。线程的状态为BLOCKED的时候有两种可能的情况 A thread in the blocked state is waiting for a monitor lock to enter a synchronized block/method 1.线程正在等待一个监视器锁只有获取监视器锁之后才能进入synchronized代码块或者synchronized方法 在此等待获取锁的过程线程都处于阻塞状态。reenter a synchronized block/method after calling Object#wait() 2.线程X步入synchronized代码块或者synchronized方法后此时已经释放监视器锁调用Object#wait()方法之后进行阻塞 当接收其他线程T调用该锁对象Object#notify()/notifyAll()但是线程T尚未退出它所在的synchronized代码块或者synchronized方法 那么线程X依然处于阻塞状态注意API注释中的reenter理解它场景2就豁然开朗。private static final Object MONITOR new Object();private static final DateTimeFormatter F DateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss);public static void main(String[] args) throws Exception {System.out.printf([%s]-begin...%n, F.format(LocalDateTime.now()));Thread thread1 new Thread(() - {synchronized (MONITOR) {System.out.printf([%s]-thread1 got monitor lock...%n, F.format(LocalDateTime.now()));try {Thread.sleep(1000);MONITOR.wait();} catch (InterruptedException e) {//ignore}System.out.printf([%s]-thread1 exit waiting...%n, F.format(LocalDateTime.now()));}});Thread thread2 new Thread(() - {synchronized (MONITOR) {System.out.printf([%s]-thread2 got monitor lock...%n, F.format(LocalDateTime.now()));try {MONITOR.notify();//这个时候thread2已经释放了MONITOR锁,thread1已经被唤醒但是因为thread2还在占用MONITOR所以thread1是blocked状态//对应 reenter a synchronized block/method after calling Object#wait()Thread.sleep(2000);} catch (InterruptedException e) {//ignore}System.out.printf([%s]-thread2 releases monitor lock...%n, F.format(LocalDateTime.now()));}});thread1.start();thread2.start();// 这里故意让主线程sleep 1500毫秒从而让thread2调用了Object#notify()并且尚未退出同步代码块确保thread1调用了Object#wait()Thread.sleep(1500); System.out.println(thread1.getState());System.out.printf([%s]-end...%n, F.format(LocalDateTime.now()));}结果: 源码的注释说的就是上述测试的情况,虽然调用了notify方法但是被唤醒的线程并不会进入RUNNABLE状态需要等thread2释放锁以后重新参与锁竞争 TERMINATED状态 public static void main(String[] args) throws Exception {Thread thread new Thread(() - {});thread.start();Thread.sleep(50);System.out.println(thread.getState());}结果:
http://www.w-s-a.com/news/886003/

相关文章:

  • 做一个平台 网站服务器搭建网架公司股价
  • 链家在线网站是哪个公司做的一个虚拟主机做2个网站
  • 网站开发实训报告模板学校网站建设计划
  • 免费手机网站制作方法什么事网站开发
  • 我们的爱情网站制作阿里云wordpress配置
  • 电脑网站页面怎么调大小唐山网站建设技术外包
  • 科威网络做网站怎么样wordpress分页样式
  • 泰安公司网站建设自助建站程序
  • 网站建设工程设计图建网站怎样往网站传视频
  • 做网站月入企业网站建设运营
  • 网站建设中的ftp地址公众号微官网
  • 手机wap网站开发与设计app开发公司电话
  • 网站页脚代码大沥网站开发
  • 重庆网站制作公司 广州天成网络技术有限公司
  • 佛山网站改版wordpress 是否有后门
  • 如何承接网站建设外包wordpress产品布局
  • 洛阳建站洛阳市网站建设视觉设计专业
  • 婚恋网站建设分析网站建设硬件需求
  • 北京做网站电话wordpress如何换图片
  • 电影网站做cpa深圳信息网
  • 单县网站建设优化大师电脑版官网
  • 番禺区住房和建设局物业网站浦东新区网站设计
  • 外贸网站外包WordPress仿牌
  • 如何设计网站logohtml5开发
  • 金坛建设银行总行网站网站开发费用如何记账
  • 贵阳企业网站设计制作湛江知名网站建设电话
  • 网站建设安全性高清效果图网站
  • 上海网站排名推广黄山公司做网站
  • 全国网站建设公司实力排名单页面网站建设
  • 网站建设方案 规划wordpress 要备案吗