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

怎样做加入购物车的网站天津本地网站

怎样做加入购物车的网站,天津本地网站,苏州知名网站建设公司排名,平面设计素材网址83.多线程 什么是线程#xff1a; 线程右进程创建的#xff0c;是进程的一个实体 一个进程可以有多个线程 并发#xff1a;同一个时刻#xff0c;多个任务交替执行#xff0c;造成一种貌似同时的错觉 并行#xff1a;同一个时刻#xff0c;多个任务同时执行#x…83.多线程 什么是线程 线程右进程创建的是进程的一个实体 一个进程可以有多个线程 并发同一个时刻多个任务交替执行造成一种貌似同时的错觉 并行同一个时刻多个任务同时执行多核CPU可以实现。可能并发和并行同时存在 通过Java查询电脑的CPU个数 public class HelloJava { ​public static void main(String[] args) {Runtime runtime Runtime.getRuntime();//获取当前电脑的cpu数量int cpuNums runtime.availableProcessors();System.out.println(当前电脑的cpu个数 cpuNums);} ​ } 线程基本使用 创建线程的两种方法 继承Thread类重写run方法 实现Runnable接口重写run方法 注意若主线程结束了但还有子线程在运行就不会导致整个线程关闭 为什么要用cat.start()而不是直接用cat.run()呢 run就是一个普通方法没有真正启动一个线程就会把run方法执行完毕才向下执行 相当于串行化执行 start才会真正的启动一个线程 (1) public synchronized void start(){start0(); } (2) //start0()是本地方法是JVM调用底层是C/C实现 //真正达到多线程效果的是start(),而不是run() private native void start0(); //start()调用start0()方法后该线程不一定会立马执行只是将线程变成了可运行状态。具体什么时候执行取决于CPU由CPU统一调度 通过Runnable接口实现线程 因为Java是单继承的在一个类可能已经继承了某个父类这时在用继承Thread方法来创建线程显然不可行 所以提供了另一个方式创建线程就是通过实现Runnable接口 Runnable没有start()方法怎么办呢 //创建一个Thread对象把dog对象(实现Runnable)放入Thread Thread thread new Thread(dog); thread.start(); //这里调用start()方法启动线程并带动run方法 //这里是因为底层使用了 代理模式逻辑如下 ​ //线程代理类模拟了一个极简的Thread class ThreadProxy implements Runnable{private Runnable target null;Overridepublic void run(){if(target ! null){target.run();//动态绑定}}public ThreadProxy(Runnable target){this.target target}public void start(){start0();}public void start0(){run();} } 多线程案例 public class HelloJava {public static void main(String[] args) {T1 t1 new T1();T2 t2 new T2();Thread thread1 new Thread(t1);Thread thread2 new Thread(t2);thread1.start();thread2.start();} } class T1 implements Runnable{ ​int count 0; ​Overridepublic void run() {while (true) {//每隔一秒输出“Hello World”10次System.out.println(hello world (count));try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}if (count 10){break;}}} } class T2 implements Runnable{ ​int count 0; ​Overridepublic void run() {while (true) {//每隔一秒输出“hi”五次System.out.println(hi (count));try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}if (count 5){break;}}} } 通知线程退出 当线程完成任务后会自动退出 还可以通过使用变量来控制run方法退出的方式停止线程即通知方式 //需求启动一个线程t要求在main线程中去停止线程t public class HelloJava {public static void main(String[] args) throws InterruptedException {T t new T();t.start();//如果希望主线程控制t线程的终止必须可以修改loop//让t退出run方法从而终止t线程 -通知方式 ​//让主线程休眠10秒再通知t线程退出Thread.sleep(1000*10);t.setLoop(false);} } class T extends Thread{//设置一个控制变量private boolean loop true;int count 0; ​Overridepublic void run() {while (loop) {try {Thread.sleep(50);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(T 运行中...... (count));}} ​public void setLoop(boolean loop) {this.loop loop;} } 线程常用方法 1.setName 设置线程名称使之与参数 name 相同 2.getName 返回该线程的名称 3.start 使该下暗藏卡爱上执行Java虚拟机底层调用该线程的start0方法 4.run 调用线程对象run方法 5.setProiority 更改线程的优先级 6.getProiority 获取线程的优先级 7.sleep 在指定的毫秒数内让当前正在执行的线程休眠 8.interrupt 中断线程 interrupt中断线程但没有真正的结束线程所以一般用于中断正在休眠的线程
http://www.dnsts.com.cn/news/40691.html

相关文章:

  • 企业网站建设效果网站设计 优帮云
  • 国外网站做盗版系统管理员已阻止这个应用
  • 一加手机官网网站如何通过阿里云自己做网站
  • 移动网站 案例导航网站html模板
  • 百度关键字搜索到自己的网站wordpress404页面模板
  • 设计欣赏网站如何设计app
  • 上海营销网站建站公司局域网网站建设的步骤过程
  • 全国思政网站的建设情况阳信县住房和城乡建设局网站
  • 合肥网站建设的公司比格设计官网
  • 响应式网站模板 食品wordpress小米论坛主题
  • 凯里网站建设gzklyy广州网站建设设计厂家
  • 有趣的网站有哪些推荐设计制作小车视频
  • c 开发网站开发平顶山企业网站建设
  • 网站设计分工网站专题设计模板
  • 建设网站意义seo网络科技有限公司
  • 旅游网站用dw怎么做网站开发 语言
  • 网站应用系统设计方案江西中企动力做的网站
  • python制作视频网站开发微信营销的特点有哪些
  • 网站开发的排期谷歌 网站做推广
  • 上海公司网站建设价格怎样设计网站
  • 北京网站制作公司招聘移动网络
  • 中国建设教育协会报名网站显卡服务器租用
  • wordpress做招聘网站郑州妇科医院哪家好知乎
  • 代做道具网站云浮网站设计
  • 海南的网站建设公司哪家好天津百度爱采购
  • 网站开发的原理东莞是什么网站建设
  • 网站布局和建站的区别5944免费空间上搭建网站
  • 个体户 做网站怎么更改网站的备案号
  • 免费做请帖的网站做采集的网站有流量吗
  • 网站响应式技术无锡网站商城建设