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

为何网站打开慢wordpress 调用个人资料

为何网站打开慢,wordpress 调用个人资料,免费空间浏览量,南山做网站教程单核cpu与多核cpu#xff1a; 线程的并发和并行问题 多线程的创建#xff1a; 多线程程序创建#xff1a;java.lang.Thread(实现了Runnable接口) // 1定义一个类实现Runnable接口#xff0c;重写run方法#xff08;run方法中设置线程任务#xff09;…单核cpu与多核cpu 线程的并发和并行问题 多线程的创建 多线程程序创建java.lang.Thread(实现了Runnable接口)         //            1定义一个类实现Runnable接口重写run方法run方法中设置线程任务new一个Thread参数对象将实现类当作参数传进去(可以用匿名内部类)         //                用Thread对象点start方法开启线程可以用匿名对象         //            2将一个类继承Thread类重写run方法创建这个类对象调用start方法开启线程 线程安全问题  多线程程序无共享数据时无安全问题         //                多线程程序有共享数据时有安全问题         //        解决方案等待与唤醒机制让一个线程在访问共享数据时无论其是否失去CPU执行权让其他线程等待         //                同步代码块同步方法        ---Object类方法         //                Lock锁机制         //        线程间通信多线程在处理同一资源但处理过程线程任务不同为有效利用资源用等待与唤醒机制解决         //        线程安全解决同步代码块 synchronized 锁对象也叫对象监视器 { //访问共享数据或可能出现线程安全问题的代码}         //                        注意锁对象可以用任意对象其只是相当于一个形式但必须保证多线程使用的锁对象是同一个         //                        作用将同步代码块锁住只让一个线程在同步代码块中执行         //                        执行逻辑发现synchronized--发现锁对象--拿走其实是赋值---执行完代码块中内容--归还赋值         //                                                        ---被拿走了阻塞直到拿到锁定对象继续执行 Lock锁机制Lock接口抽象方法void Lock  void unLock         //                            实现类ReentrantLock类         //                            使用1 在类中方法外成员变量位置创建ReentrantLock对象         //                                2 在可能出现安全问题的方法前调用Lock方法         //                                3 代码后调用unLock方法 unLock可以在finally代码块中这样无论是否有异常都释放锁 线程池 线程池使线程得以复用不必频繁创建与销毁         //        底层原理创建一个集合List存储多个线程使用时Thread tList.remove(0)/removeFirst()取出          //                                        使用后List.add(t)/addLast() 归还         //        Executors类java.until包中         //            静态方法static ExecutorService newFixedThreadPoolint x 创建固定线程数量的线程池返回值是ExecutorService接口的实现类对象         //        ExecutorService接口java.until.concurrent包中         //            抽象方法Feture? submit(Runnable task) 将线程放入池第一次调用并开启线程任务用完自动归还线程池         //                    void shutdown  销毁线程池         //        使用1 使用Executor类内静态方法newFixedThreadPool创建线程池         //            2 创建线程2种方法         //            3 调用ExecutorService接口中抽象方法submit使线程并入线程池第一次调用并执行线程任务执行run方法         //                    submit        继承Thread类的类的对象/    实现Runnable类的类的对象     / 实现Runnable类的类的对象用Thread包装后的Thread对象         //            4 调用ExecutorSerivce接口中shutdown方法销毁线程池不建议执行         //            5 匿名内部类线程可以放入但没有意义 线程注意 1 为什么不直接调用run方法而是要start         main线程start又一线程main线程不会阻塞的调用会阻塞的         主线程结束其他线程可能没有结束线程间基本不会收到影响除非自己设置                  直接调run方法就是主线程调用并没有开另一线程         源码:start方法源码会执行 start0方法这是一个人本地方法会另开线程             start0只是将线程转为了可运行状态【不一定会立即执行run】-》取决于cpu自己 控制线程退出         程序执行完自动退出         使用【变量】控制run方法的退出run方法退出线程就结束了             给主线程一个set方法主线程就可以控制其退出了 Thread补充方法             设置/获取线程优先级             setPriority     MAX_Priority 10     等3个常量             getPriority         interrupt             中断线程但是不是结束线程所以一般用于中断休眠的线程唤醒它                  yield让出cpu让其他线程执行但是礼让时间不确定所以也不一定礼让成功              cpu资源越紧张礼让的对象占用cpu越大礼让的成功率就越高                 -》cpu不会认为它跑的过来就听你的先跑礼让的         join让线程插队一定先执行完插入线程的所有任务              用户线程和守护线程         用户线程就是工作线程         守护线程为工作线程服务的当所有用户线程结束守护线程自动结束             常见的守护线程垃圾回收机制             将一个线程设置为守护线程                 主线程开启t1线程t1无限循环主线程退出要求t1线程也退出-》将t1做成守护线程             在主角线程设置守护线程 陪葬品线程.setDaemontrue就行了             但是要先设置再启动 陪葬品线程否则有异常                  线程的生命周期         Thread的state是enum枚举类型有6个取值也就是有6种状态                  new 尚未启动         runnable正在执行  ready和running  即使是running态其运行也要看操作系统和cpu调度的         blocked被阻塞等待         waiting等待 另一个线程的特定动作         timeed_waiting等待另一个线程执行达到某一指定时间         terminated已退出的线程                  Thread的getState方法可以获得状态              线程死锁         a线程必须拿到b线程的占用资源才释放锁         但是同时b线程必须拿到a的资源才释放锁                  你先完成作业才能玩手机         你先让我玩手机才写作业          线程释放锁的情况         同步方法完成         同步方法有break/return         出现未处理的异常/error不得已释放锁         调用锁对象的wait方法【线程会暂停并释放锁】              线程不会释放锁的情况         sleep方法线程会暂停但不会释放锁         yield方法线程会暂停但不会释放锁         尽量不再使用/过时的方法             线程正在执行其他线程调用该线程的suspend方法将该线程挂起该线程不会释放锁             resume方法会结束其挂起             状态图的runnable状态的线程挂起【注意】 【重要】一个线程控制另一个线程         需要在线程中有 控制线程的对象 构造方法给其赋值set方法赋值         或者在构造方法中将其设置为守护线程         但是注意守护线程不是正常退出而是立即中断可能有代码执行不到         所以还是用第一种比较好用变量进行控制              【重要】多线程共享数据与安全         锁的对象一定要是一个         数据量小可能一直是一个线程
http://www.sadfv.cn/news/438805/

相关文章:

  • 前后端分离企业网站源码百度渠道开户
  • 岳阳县住房和城乡建设局网站网站改版要改哪些页面
  • 湖北平台网站建设制作成都房产网房天下
  • 做网站网站的推广是不是犯罪的为了推出企业网站建设
  • 开发网站公司名称优化神马网站关键词排名价格
  • 湘潭网站建设有名磐石网络做网站创业需要注册公司吗
  • pc网站平台查看网站点击量
  • 网站开发算是固定资产吗成都哪里好玩适合年轻人
  • 网站备案上传照片几寸网站免费建站叉手
  • 上海网站建设|网站制作重庆公积金门户网站
  • 优化网站快速排名软件网站设计与优化
  • php是专门做网站的做图表的网站 免费
  • 网站上传在空间哪里wordpress 资讯站
  • 芜湖网站公司为什么不自己做购物网站
  • 江苏网站推广公司酷万网站建设
  • 分销网站建设方案潍坊网站推广
  • 转入已备案网站站的免费网站
  • 巩义云启网站建设佛山市建设局网站
  • asp网站水印支除商丘专业做网站
  • 网站建设中英版网页设计与制作项目教程答案
  • dz网站恢复数据库友链交换平台
  • 电子商务网站总体规划的内容宁德网站制作公司
  • 网站建设深圳官网软件公司都是干什么的
  • 国内做心理咨询师培训出名的网站有教做点心的网站吗
  • 怎么才能百度做网站金华网站制作企业
  • 茶道网站开发背景设计大型网站建设
  • 2017年做那个网站致富指数基金怎么买
  • 关于汽车的网站iis7搭建asp网站
  • 房产网站栏目建设通辽做网站建设
  • 郑州网站建设zhuotop如何做网站 优帮云