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

网站开发怎么对接客户app开发公司介绍

网站开发怎么对接客户,app开发公司介绍,成都网站建设技术外包,宝安建设网站目录 什么是进程什么是多线程使用多线程的好处使用多线程的应用场景单线程与多线程之间的区别如何理解线程上下文切换使用多线程真的开启越多越好吗线程4种创建的方式1.继承Thread类2.使用Runnable3.使用Callable4.线程池的方式 多线程五种的状态如何优雅的停止一个线程 什么是… 目录 什么是进程什么是多线程使用多线程的好处使用多线程的应用场景单线程与多线程之间的区别如何理解线程上下文切换使用多线程真的开启越多越好吗线程4种创建的方式1.继承Thread类2.使用Runnable3.使用Callable4.线程池的方式 多线程五种的状态如何优雅的停止一个线程 什么是进程 进程就是系统中正在运行的一个程序程序一旦运行就是一个进程在一个进程中可以开启多个不同的线程执行。什么是多线程 多线程就是同一进程下开启多条执行路径同时执行互不影响使用多线程的好处 1、提高程序执行效率 2、快速响应给客户端给用户较好的体验 3、每个线程之间相互不影响使用多线程的应用场景 1.使用多线程实现异步发送短信 2.使用多线程实现异步的记录日志 3.使用多线程处理一些比较耗时间的业务逻辑单线程与多线程之间的区别 单线程串行执行代码效率不高且响应较慢对用户不是太友好 多线程进程开启多条线路执行代码每条线程执行不同的任务每个线程之间相互不影响如何理解线程上下文切换 对于单核的CPU来说CPU在同一个时刻只能够运行一个线程当正在运行的线程切换到另外一个线程时这个过程我们可以理解为CPU上下文切换。 如果是多核处理器比如 6核 12线程也就是在同一个时刻可以开启12个线程同时运行服务器支持的线程数越高可以减少CPU上下文的切换从而提高效率。 所以注意单核的服务器开启了多线程人为感知好像是多线程但是真正意义上的底层不是多线程。使用多线程真的开启越多越好吗 如果项目比较小的情况下可以采用多线程异步实现处理是可以的但是如果在高并发的情况下频繁的创建线程同时也会被CPU分配调度不断的切换对服务器影响也是比较大所以建议如果是在高并发的情况下采用MQ异步的形式替代多线程。线程4种创建的方式 1.继承Thread类 public class Thread1 extends Thread {Overridepublic void run() {System.out.println(我是子线程: Thread.currentThread().getName());}public static void main(String[] args) {System.out.println(我是主线程: Thread.currentThread().getName());// 调用start方法启动线程new Thread1().start();} }2.使用Runnable public class Thread2 implements Runnable {public void run() {System.out.println(我是子线程: Thread.currentThread().getName());}public static void main(String[] args) {System.out.println(我是主线程: Thread.currentThread().getName());new Thread(new Thread2()).start();} }3.使用Callable public class MyCallable implements CallableString {public String call() throws Exception {System.out.println(Thread.currentThread().getName() 正在异步调用接口发送短信);try {Thread.sleep(3000);} catch (Exception e) {}return 短信发送成功;}public static void main(String[] args) throws ExecutionException, InterruptedException {FutureTaskString futureTask new FutureTaskString(new MyCallable());Thread thread new Thread(futureTask);thread.start();String result futureTask.get();System.out.println(Thread.currentThread().getName() result);} }4.线程池的方式 ExecutorService executorService Executors.newCachedThreadPool(); executorService.execute(new Runnable() {public void run() {System.out.println(Thread.currentThread().getName());} });多线程五种的状态 1.当我们新建一个线程的时候new Thread的时候为新建的状态。 2.当我们调用到start方法的时候不会立马执行到我们的run方法当前线程状态为就绪状态需要等待cpu的切换。 3.当cpu切换能够调用到该线程的时候当前线程的状态 为运行状态。 4.当我们在线程调用sleep方法的时候当前线程线程的状态为 阻塞状态当休眠的时候过了的时候有需要从新等待cpu调度从就绪状态到运行。 5.当我们线程调用stop方法或者run方法代码执行结束的时候 当前线程的状态为死亡状态。如何优雅的停止一个线程 官方不建议直接调用stop方法停止该线程建议采用 中间件变量值的停止该线程也可以使用守护线程 public class Thread005 extends Thread {private volatile boolean flag true;Overridepublic void run() { System.out.println(Thread.currentThread().getName());while (flag) {}}public void stopThread() {this.flag false;}public static void main(String[] args) {Thread005 thread005 new Thread005();thread005.start();try {Thread.sleep(3000);thread005.stopThread();} catch (Exception e) {}} }
http://www.hkea.cn/news/14392110/

相关文章:

  • 合肥平台网站建设网站建设简介电话
  • 外贸网站 源怎么查网站是用什么语言做的
  • 网站下载工具天津网站建设论坛
  • 建筑工程网站监理答案广告设计好学吗难不难
  • 深圳极速网站建设费用百度全静态生成技术
  • 保险网站有哪些平台公司网站开发的核心技术
  • 萧山做网站公司山东网站建设运行工资
  • 上海网站开发定制泉州网站优化
  • 旅游建设投资公司中网站福州搜索排名提升
  • wordpress头像网站建设银行信用卡官方网站
  • 怎么给网站做访问量安贞街道网站建设
  • 做网站需要学数据库吗哪个网站可以做创意短视频
  • 如何鉴别网站有没有做301重定向网站模块图
  • 做投票网站教程网站开发流程说明
  • 网站设计与建设系统会计信息系统网站建设流程图
  • 兰州网站建设加王道下拉网站迁移后 后台进不去
  • 那些网站是做生鲜的设计培训机构排行榜
  • 太仓做网站做海购的网站
  • 网站设计高端网站设计泛华建设集团有限公司网站
  • 网站搜索框怎么做东北亚科技园里有做网站的吗
  • 成都网站建设seo优化天津网络公司流程
  • 免费行情网站大全织梦网站怎么做伪静态
  • 海南省住房和城乡建设厅网站电脑版云南做网站公司哪家好
  • 海口网站建设搜q479185700十大装饰公司排行榜
  • 营口东站营销网站建设推广平台网站
  • 网站开发的收获体会传奇游戏平台
  • 中国建设银行幼儿缴费官网站网站开发工程师职位要求
  • 怎么免费从网站上做宣传重庆宣传网站怎么做
  • 做网站白云河北网站seo
  • 学校网站建设招聘APP手机端电子商务网站建设