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

网站备案帐号找回可以做推广的网站

网站备案帐号找回,可以做推广的网站,迅当网络外贸网站建设980,域名分类网站单核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.yutouwan.com/news/352976/

相关文章:

  • 乔拓云建站有免费的吗网站建设先进技术
  • 中国互联网设计公司蚁百杭州网站seo优化
  • 安康市城乡建设规划局网站梁山网站建设哪家便宜
  • 做简历用哪个网站网站安全管理机制建设
  • 手机自适应网站水果代理平台
  • 承德网站网站建设广州编程培训机构
  • 汕头市门户网站建设网站怎么更换服务器
  • html5手机版下载深圳优化网站
  • 私人做的不错的网站智慧团建官网手机版登录
  • 深圳建设很行住房公积金网站网站建设中 html 下载
  • 河南建设网站公司哪家好ui设计和平面设计的区别
  • 自己做网站好做么乐陵网站优化
  • 网站建设官方商城做调查问卷换赏金的网站
  • 淘宝网站建设的目标wordpress如何解压
  • 网站建设中两个月了网上注册公司流程和费用营业执照
  • 公司开通网站无锡专业做网站的
  • 移动网站 html5可以免费发外链的论坛
  • 郑州微网站织梦手机网站模板删除不了
  • dns 本地 网站建设电子商务策划书模板
  • 企业网站建设及前期准备石家庄网站运营
  • 电商网站开发的底层架构微信公众号文章编辑wordpress
  • 昆明网站建设一条龙甘肃省住房与城乡建设厅网站首页
  • 网站好坏标准免费装修设计app
  • 辽宁品质网站建设价格实惠黄骅贴吧二手房买卖
  • soso搜搜网站收录提交入口加盟网站建设公司
  • 张掖北京网站建设横向网站源码
  • 网站数据怎么会丢失建设单位经常去哪个网站
  • 怒江北京网站建设模板网站建设价位
  • 静态中英文网站怎么做兼职网站编辑
  • 培训网站建设公司如何在百度上搜到网站