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

手机做网站过程今日热点新闻一览

手机做网站过程,今日热点新闻一览,17网站一起做网店广州新塘,开发一个app需要做什么1.继承Thread类 优点:代码简单,可以直接使用Thread类里面的方法。 缺点:扩张性较差,应为在java中,一个类只能继承一个父类。 2.实现Runnable接口 3.实现Callable接口 2和3的优缺点是一样的 优点:扩展性强&…

1.继承Thread类
优点:代码简单,可以直接使用Thread类里面的方法。
缺点:扩张性较差,应为在java中,一个类只能继承一个父类。

2.实现Runnable接口
3.实现Callable接口
2和3的优缺点是一样的
优点:扩展性强,实现该接口的同时还可以继承其他类。
缺点:代码相对来说要复杂一点,并且不能直接使用Thread类里面的方法

1.继承Thread类

package com.java.thread;public class ThreadDemo01 {public static void main(String[] args) {/*多线程的第一种实现方式是继承Thread类1.自己创建一个类来继承Thread类2.重写run方法3.创建子类对象并启动线程*/int num = 5;//井水的初始数量//创建子类对象,实例化子类对象Well oldwellZbj = new Well(num,"---猪八戒---");Well oldwellSwk = new Well(num,"***孙悟空***");//我们不使用oldwellzbj.run,因为这不是开启线程的方法//开启线程oldwellZbj.start();oldwellSwk.start();for (int i = 0; i <= num; i++) {System.out.println("当前线程:" + Thread.currentThread().getName());try {Thread.sleep(2000);//当前线程休眠2秒} catch (InterruptedException e) {throw new RuntimeException(e);}}}
}
package com.java.thread;
//创建一个类并继承Thread类
public class Well extends java.lang.Thread {private int num;//井水的数量public Well(int num, String name) {super(name);this.num = num;//初始化数量}//重写run方法,实现取水的任务public void run() {for (int i = 0; i <this.num; i++) {System.out.println(this.getName() + "取出第" + i + "桶水" + ",剩余水量:" + (this.num - i) + "桶");try {Thread.sleep(2000);//线程休眠2秒} catch (InterruptedException e) {throw new RuntimeException(e);}}}
}

2.实现Runnable接口

package com.java.thread;
//测试类
public class RunnableDemo01 {public static void main(String[] args) {/*1. 定义一个类实现Runnable接口2.利用Runnable接口的子类对象作为Thread构造方法的参数创建Thread对象3.调用Thread对象的start方法启动线程*///创建对象,我们要创建2个对象,一个是我们自己创建的类的对象,一个是Thread的对象//自己这个类表示多线程要操作的内容Runnable01 oldwell = new Runnable01(5);//井水有5桶//Thread类这个对象的创建是为了创建线程的对象Thread swk = new Thread(oldwell,"---孙悟空---");Thread zbj = new Thread(oldwell,"***猪八戒***");//调用线程的start方法swk.start();zbj.start();}
}
package com.java.thread;
//重新定义一个类实现Runnable接口
public class Runnable01 implements Runnable {private int num;//井水数量public Runnable01(int num) {this.num = num;}@Overridepublic void run() {while (true){if(num > 0){//表示水井有水System.out.println(Thread.currentThread().getName() + "开始取水\n");System.out.println("取出1桶水," + "剩余水量" + (--num) + "桶");}else{//表示水井里面没水了break;//退出循环}try {Thread.sleep(500);//线程休眠0.5秒} catch (InterruptedException e) {throw new RuntimeException(e);}}}
}

3.实现Callable接口

package com.java.thread;import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;public class CaseDemo03 {public static void main(String[] args) throws ExecutionException, InterruptedException {
/*
特点:可以获取多线程的运行结果
1.创建一个类来实现Callable接口
2.重写Callable里面的call方法(是有返回值的,表示多线程的运行结果
3.创建自己创建的那个类的对象(表示多线程要执行的任务
4.创建FutureTask的对象(管理多线程的运行结果)
(Future是一个接口,我们要创建FutureTask这个Future的实现方法的对象)
5.创建Thread类的对象,并启动线程(表示线程的启动)*///创建自己创建的那个类的对象(表示多线程要执行的任务
Case03 c = new Case03();
//创建FutureTask的对象FutureTask<Integer> ft = new FutureTask<>(c);//表示用FutureTask这个对象去管理c的结果// 创建Thread类的对象,并启动线程(表示线程的启动)new Thread(ft).start();//获取多线程的运行结果int result = ft.get();System.out.println(result);}
}
package com.java.thread;import java.util.concurrent.Callable;public class Case03 implements Callable<Integer> {
//这里的Integer表示泛型,表示多线程运行的结果@Overridepublic Integer call() throws Exception {//求1~100之间的和int sum = 0;for (int i = 0; i <= 100; i++) {sum += i;}return sum;}
}

非常感谢你可以看到这里!!!

http://www.yidumall.com/news/5668.html

相关文章:

  • 临海如何制作公司网站框架免费seo教程资源
  • 商城网站开发技术有哪些影视后期哪个培训靠谱
  • 今天北京感染了多少人优化视频
  • 饮水机企业网站模板做销售怎么和客户聊天
  • 把网站制作成app销售推广的方法都有哪些
  • 手机网站制作要求网络营销广告策划
  • 天津做网站软件淄博搜索引擎优化
  • 适合用dedecms做的网站最新时事热点
  • 自己做视频网站 在优酷推广百度搜索风云排行榜
  • 哪个公司的网站做的好未来网络营销的发展趋势
  • 企业手机建站系统友情链接免费发布平台
  • 网站建设方案流程互联网营销师怎么报名
  • 青岛建网站的公司免费b站在线观看人数在哪
  • 公司网站制作步骤互动营销案例100
  • ps制作网站导航图片读书网站排名
  • java做网站用什么框架论坛推广网站
  • 武汉公司网站推广新媒体运营主要做什么
  • 中国做网站最大的公司交换友情链接推广法
  • 做夺宝网站要办理什么意思线上线下整合营销方案
  • 建设通网站源码友情链接的作用
  • 上海亿网站建设枣庄网站建设制作
  • 甘肃省和住房建设厅网站苹果看国外新闻的app
  • 建设网站的免费模板seo虚拟外链
  • 24小时自助下单网站中国最好的营销策划公司
  • 手机网站的优势软文范例500字
  • 山东网站建设公司电话外链优化
  • 自己在线制作logo免费生成器百度怎么做关键词优化
  • 特效比漂亮的网站搜索指数在线查询
  • 做社交网站多少钱百度导航怎么下载
  • 辽宁建设工程信息网站网络营销环境分析