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

书画工作室网站模板网站建设网站建设催款函

书画工作室网站模板网站建设,网站建设催款函,綦江建设银行网站,网站建设js是什么线程调度 线程状态#xff1a;状态切换阻塞与唤醒阻塞唤醒 wait 与 sleep创建线程方式 线程是cpu任务调度的最小执行单位#xff0c;每个线程拥有自己独立的程序计数器、虚拟机栈、本地方法栈。 线程状态#xff1a; 线程状态包括#xff1a;创建、就绪、运行、阻塞、死亡… 线程调度 线程状态状态切换阻塞与唤醒阻塞唤醒 wait 与 sleep创建线程方式 线程是cpu任务调度的最小执行单位每个线程拥有自己独立的程序计数器、虚拟机栈、本地方法栈。 线程状态 线程状态包括创建、就绪、运行、阻塞、死亡。 状态切换 方法作用区别start启动线程由虚拟机自动调度执行run()方法线程处于就绪状态run线程逻辑代码块处理JVM调度执行线程处于运行状态sleep让当前正在执行的线程休眠(暂停执行)不释放锁wait使得当前线程等待释放同步锁notify唤醒在此对象监视器上等待的单个线程唤醒单个线程notifyAll唤醒在此对象监视器上等待的所有线程唤醒多个线程yield停止当前线程让同等优先权的线程运行用Thread类调用join使当前线程停下来等待直至另一个调用join方法的线程终止用线程对象调用 线程状态切换 阻塞与唤醒 阻塞 这三个方法的调用都会使当前线程阻塞。该线程将会被放置到对该Object的请求等待队列中然后让出当前对Object所拥有的所有的同步请求。线程会一直暂停所有线程调度直到下面其中一种情况发生 其他线程调用了该 Object 的 notify 方法而该线程刚好是那个被唤醒的线程 其他线程调用了该 Object 的 notifyAll 方法。 唤醒 线程将会从等待队列中移除重新成为可调度线程。 它会与其他线程以常规的方式竞争对象同步请求。 一旦它重新获得对象的同步请求所有之前的请求状态都会恢复也就是线程调用 wait 的地方的状态。 线程将会在之前调用 wait 的地方*继续运行下去。 由于 wait() 属于 Object 方法调用之后会强制释放当前对象锁所以在 wait() 调用时必须拿到当前对象的监视器 monitor 对象。因此wait() 方法在同步方法/代码块中调用。 wait 与 sleep wait 方法必须在 synchronized 保护的代码中使用而 sleep 方法并没有这个要求。wait 方法会主动释放 monitor 锁在同步代码中执行 sleep 方法时并不会释放 monitor 锁。wait 方法意味着永久等待直到被中断或被唤醒才能恢复不会主动恢复sleep 方法中会定义一个时间时间到期后会主动恢复。wait/notify 是 Object 类的方法而 sleep 是 Thread 类的方法。 创建线程方式 1.实现 Runnable 接口优先使用 public class RunnableThread implements Runnable { Override public void run() {System.out.println(实现Runnable接口实现线程);} }2.实现Callable接口有返回值可抛出异常 class CallableTask implements CallableInteger {Override public Integer call() throws Exception { return new Random().nextInt();} }3.继承Thread类java不支持多继承 public class ExtendsThread extends Thread { Override public void run() {System.out.println(用Thread类实现线程);} }4.使用线程池底层都是实现run方法 static class DefaultThreadFactory implements ThreadFactory { DefaultThreadFactory() { SecurityManager s System.getSecurityManager(); group (s ! null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup(); namePrefix pool- poolNumber.getAndIncrement() -thread-; } public Thread newThread(Runnable r) { Thread t new Thread(group, r,namePrefix threadNumber.getAndIncrement(),0); if (t.isDaemon()) t.setDaemon(false); //是否守护线程 if (t.getPriority() ! Thread.NORM_PRIORITY) t.setPriority(Thread.NORM_PRIORITY); //线程优先级 return t; } }原文https://mp.weixin.qq.com/s/IVgGXQKU1QiT1ToN2wXHJg
http://www.pierceye.com/news/282172/

相关文章:

  • 长沙建设网站公司浙江网站建设上市公司
  • 成都艾邦视觉专业网站建设公司有内涵大气的公司名字
  • 制作学校网站编程基础知识大全
  • 建设银行网站买手机阿里云已备案域名购买
  • 12个优秀的平面设计素材网站wordpress 标题 拼音
  • 瑶海区网站建设公司上海app开发定制公司
  • 北海建设厅网站局域网的电脑怎么做网站服务器
  • 莱芜网站建设价格域名注册成功后怎么使用网站
  • 衡阳县建设局网站wordpress 图片缓存
  • 浙江门户网站建设公司新闻稿发布
  • 温州网站建设排名wordpress 汉化失败
  • 做数据可视化的网站推广类软文案例
  • 外包做网站的要求怎么写做网站 360
  • 温州网站建设价格技术微信公众号免费开通
  • 做网站推广销售怎么样辽宁省网站备案系统
  • html公司网站模板源码企业信息填报系统
  • 有口碑的赣州网站建设微信开放社区
  • 外贸网站做SEO电脑浏览器打不开网页是什么原因
  • 做网站需要下载啥google建站推广
  • 沈阳哪里有教做网站的会做网站怎么赚钱
  • iis如何做同时运行两个网站80端口做汽车网站费用
  • 网站规划与设计一千字网红营销模式
  • 西安 域名空间网站制作淘宝客网站主题下载
  • 网页制作与网站建设pdf网站开发前端和后端工作
  • 网站设计教学西安免费企业网站模板图片
  • 吉林省住房和城乡建设厅网站官网手机百度app免费下载
  • 微信开放平台网站应用营销网站建设的规则
  • 网站制作语言有哪些对接标准做好门户网站建设
  • asp 公司网站源码贵州省建设厅的网站
  • 企业网站备案资料样本自建网站要多少钱