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

c2c网站代表策划人网

c2c网站代表,策划人网,中交路桥建设有限公司待遇,网站权重多少4多线程 同时执行多个任务#xff0c;例如一个人一边听歌#xff0c;一边跳舞 继承Thread类实现多线程的方式 定义一个MyThread类继承Thread类#xff0c;重写里面的run方法 package com.itxs.demo01;/*** Classname : MyThread* Description : TODO 自定义线程继承Thread类*…多线程 同时执行多个任务例如一个人一边听歌一边跳舞 继承Thread类实现多线程的方式 定义一个MyThread类继承Thread类重写里面的run方法 package com.itxs.demo01;/*** Classname : MyThread* Description : TODO 自定义线程继承Thread类* Author : lin_refuelqq.com*/ public class MyThread extends Thread{Overridepublic void run() {//super.run();for (int i 0; i 20; i) {System.out.println(i i);}} }测试多线程类 package com.itxs.demo01;/*** Classname : demo01* Description : TODO 多线程的测试类* Author : lin_refuelqq.com*/ public class demo01 {public static void main(String[] args) {// 线程对象创建MyThread my01 new MyThread();MyThread my02 new MyThread();MyThread my03 new MyThread();MyThread my04 new MyThread();//开启线程的方法startmy01.start();my02.start();my03.start();my04.start();} }线程名字的获取和设置 自定义线程继承Thread类 package com.itxs.demo02;/*** Classname : MyThread* Description : TODO 自定义线程 - 继承Thread类* Author : lin_refuelqq.com*/ public class MyThread extends Thread {public MyThread() {}public MyThread(String name) {super(name);}Overridepublic void run() {for (int i 0; i 20; i) {// this.getName获取类中自己的Name值System.out.println(this.getName() i i);}} }测试线程 package com.itxs.demo02;/*** Classname : demo01* Description : TODO 多线程名字设置的方式* Author : lin_refuelqq.com*/ public class demo01 {public static void main(String[] args) {//创建线程对象// 方式一通过构造方法进行设置每个线程名字MyThread my01 new MyThread(线程01);MyThread my02 new MyThread(线程02);MyThread my03 new MyThread(线程03);MyThread my04 new MyThread();// 方式二通过方法setName设置线程名字 // my01.setName(线程01); // my02.setName(线程02); // my03.setName(线程03);my04.setName(线程04);//开启线程my01.start();my02.start();my03.start();my04.start();} }运行结果 获取正在运行的线程对象 获取正在运行的线程 Thread.currentThread()通过上面的方法获取到每个运行线程的名字 package com.itxs.demo02;/*** Classname : MyThread* Description : TODO 自定义线程输出0-19 - 继承Thread类* Author : lin_refuelqq.com*/ public class MyThread extends Thread {public MyThread() {}public MyThread(String name) {super(name);}Overridepublic void run() {for (int i 0; i 20; i) {// this.getName获取类中自己的Name值System.out.println(Thread.currentThread().getName() i i);}} }package com.itxs.demo02;/*** Classname : demo03* Description : TODO 获取每个正在运行的线程的方法* Author : lin_refuelqq.com*/ public class demo03 {public static void main(String[] args) {// 创建几个线程对象设置每个线程的名字MyThread my01 new MyThread(多线程01);MyThread my02 new MyThread(多线程02);MyThread my03 new MyThread(多线程03);MyThread my04 new MyThread(多线程04);//开启线程my01.start();my02.start();my03.start();my04.start();// main 其实也是一个线程但是却是主线程// 输出0-19//设置主线程名字的方法 Thread.currentThread是获取正在运行的线程//setName是设置名字Thread.currentThread().setName(主线程);for (int i 0; i 20; i) {System.out.println( Thread.currentThread().getName()i i);}} }线程调度 两种线程调度模型 分时调度模型所有线程轮流使用 CPU 的使用权平均分配每个线程占用 CPU 的时间 抢占调度模型优先让优先级高的线程使用 CPU如果线程的欧优先级相同那么随机选择一个优先级高的线程获取的 CPU 占用时间会相对多一丢丢丢丢丢…… Java 使用的是抢占式的调度模型 线程优先级设置 Thread 类中设置和获取线程优先级的方法 public final int getPriority()返回次线程的优先级 public final void setProiority(int newPriority)更改次线程的优先级 自定义的线程类-继承Thread类 package com.itxs.demo02;/*** Classname : MyThread* Description : TODO 自定义线程输出0-19 - 继承Thread类* Author : lin_refuelqq.com*/ public class MyThread extends Thread {public MyThread() {}public MyThread(String name) {super(name);}Overridepublic void run() {for (int i 0; i 20; i) {// this.getName获取类中自己的Name值System.out.println(Thread.currentThread().getName() i i);}} }优先级测试 package com.itxs.demo02;/*** Classname : demo02* Description : TODO 线程调度测试* Author : lin_refuelqq.com*/ public class demo02 {public static void main(String[] args) {// 创建线程对象MyThread mt01 new MyThread(线程01);MyThread mt02 new MyThread(线程02);MyThread mt03 new MyThread(线程03);//修改线程的优先级mt01.setPriority(Thread.MIN_PRIORITY);//1mt02.setPriority(Thread.NORM_PRIORITY);//5mt03.setPriority(Thread.MAX_PRIORITY);//10// 线程的优先级输出 // System.out.println(mt01.getPriority()); // System.out.println(mt02.getPriority()); // System.out.println(mt03.getPriority());//开启线程测试那个线程优先完成mt03.start();mt02.start();mt01.start();} }线程控制 方法名说明static void sleep(long ms)使当前正在执行的线程停留指定的毫秒数void join()等待这个进程死亡void setDaemon(boolean on)将此线程标记为守护进程当运行线程都是守护线程时JVM 将退出 sleep方法 案例华山论剑 自定义线程类 package com.itxs.demo02;/*** Classname : MyThread* Description : TODO 自定义一个线程 - 继承Thread类* Author : lin_refuelqq.com*/ public class MyThread extends Thread{public MyThread() {}public MyThread(String name) {super(name);}Overridepublic void run() {for (int i 1; i 20 ; i) {System.out.println(Thread.currentThread().getName() 出了第i招);try {Thread.sleep(1000);//停留一秒} catch (InterruptedException e) {e.printStackTrace();}}} }sleep测试类 package com.itxs.demo02;/*** Classname : demo02* Description : TODO 线程测试 - sleep* Author : lin_refuelqq.com*/ public class demo02 {public static void main(String[] args) {//创建线程对象MyThread mt01 new MyThread(黄固);MyThread mt02 new MyThread(欧阳锋);MyThread mt03 new MyThread(段智兴);MyThread mt04 new MyThread(洪七公);//开启线程mt01.start();mt02.start();mt03.start();mt04.start();} }join方法 歌曲《天下》原唱张杰翻唱池瑶和高鱼 package com.itxs.demo03;/*** Classname : MyThread* Description : TODO* Author : lin_refuelqq.com*/ public class MyThread extends Thread {public MyThread() {super();}public MyThread(String name) {super(name);}// 定义一个数组存放歌词String[] song {烽烟起寻爱似浪淘沙,遇见她如春水映梨花,挥剑断天涯,相思轻放下};Overridepublic void run() {for (int i 0; i song.length; i) {System.out.println(Thread.currentThread().getName() 正在唱 song[i]);}} }测试-张杰唱完后两个翻唱继续唱 package com.itxs.demo03;/*** Classname : demo01* Description : TODO* Author : lin_refuelqq.com*/ public class demo01 {public static void main(String[] args) throws InterruptedException {//创建线程MyThread mt01 new MyThread(张杰);MyThread mt02 new MyThread(池瑶);MyThread mt03 new MyThread(高鱼);//开启线程mt01.start();mt01.join();//等待张杰唱完,mt01执行完后执行后面的线程mt02.start();mt03.start();} }setDaemon() 守护线程总结就是当创建的线程对象设置为守护线程后主线程里面的内容执行完后所有开启的多线程都会停止执行 自定义的线程执行20次循环 package com.itxs.demo04;/*** Classname : MyThread* Description : TODO - 自定义线程* Author : lin_refuelqq.com*/ public class MyThread extends Thread{public MyThread() {super();}public MyThread(String name) {super(name);}Overridepublic void run() {for (int i 0; i 20; i) {System.out.println(Thread.currentThread().getName()报数i);}} }测试守护线程 package com.itxs.demo04;/*** Classname : demo01* Description : TODO* Author : lin_refuelqq.com*/ public class demo01 {public static void main(String[] args) {//创建线程对象MyThread mt01 new MyThread(1号);MyThread mt02 new MyThread(2号);MyThread mt03 new MyThread(3号);System.out.println(开始报数);//mt01,02,03设置为守护线程mt01.setDaemon(true);mt02.setDaemon(true);mt03.setDaemon(true);// 线程开启mt01.start();mt02.start();mt03.start();// 主线程执行三次循环for (int i 0; i 3; i) {System.out.println(报数中);}System.out.println(停止报数);} }线程的生命周期 新建创建线程对象通过 start() 进入下一个环节 就绪有执行资格没有执行权抢占 CPU 的执行权 运行有执行资格有执行权可能被其他线程抢走 CPU 的执行权则回到就绪状态若遇到阻塞式方法则失去运行权和执行这个等待当阻塞方法调用结束之后回到就绪状态 死亡线程死亡成为垃圾
http://www.dnsts.com.cn/news/272196.html

相关文章:

  • 苏州网站建站推广杨凌做网站
  • 餐饮类网站模板wordpress更新5.2
  • 团购网站模板编辑首页phalapi wordpress
  • 锦州做网站的个人常用的oa系统办公软件
  • 韩国优秀电商网站网站可以做参考文献吗
  • mc做弊端网站wordpress多菜单
  • 新乡市做网站的公司微信公众号平台登陆
  • 聊城宏远网站建设优化网站建设启凡
  • 网站开发软件盐城网站设计公司
  • 京东的网站是哪家公司做的蚌埠网站排名
  • 网站被墙查询辽宁城乡建设招投标交易平台
  • 辅料企业网站建设费用三亚城乡建设局网站
  • 网站推广的内容广州人才网
  • p2p网站建设的步骤过程wordpress移动端缓存
  • 重庆网站建设哪家便宜工作期间员工花钱做的网站
  • 网站后台账号密码忘记了怎么办深圳网站搜索引擎优化
  • 二建转注辽宁建设主管部门网站广州 互联网公司 网站首页
  • 有关建设旅行网站的建设南宁小程序开发网站建设公司
  • 烟台做外贸网站建设公司微网站怎么做的
  • 福州推广企业网站网站建设市场有多大
  • 有哪些可以做1元夺宝的网站淘宝网店的seo主要是什么
  • 做衣服外单网站广州网站推广模板
  • 怎么做自己的百度网站html5做静态网站
  • 漳州建设银行网站首页鲜花网站的数据库建设
  • 会议网站定制应届生出来做网站还是做报纸好
  • 化妆品网站的建设目标用wordpress建站案例
  • 浙江建设局网站首页如何查询自己的网站是否被收录
  • 济南建网站市场支持快钱支付的网站
  • 网站字体标准网站打开出现建设中
  • 怎么做网站优化排名中国域名网