Java新建线程有两种方式,一种是通过继承Thread类,一种是实现Runnable接口,下面是新建线程的两种方式。

  我们假设有个竞赛,有一个选手A做俯卧撑,一个选手B做仰卧起坐。分别为两个线程:

playerA.java

public class playerA extends Thread {

    @Override
public void run() {
System.out.println("选手A出场了!");
boolean flag=true;
int count=0;
while (flag) {
System.out.println(getName()+"做了"+(++count)+"个俯卧撑");
if (count==100) {
flag=false;
}
if(count%10==0) {
try {
sleep(2000);//线程休息了2秒
System.out.println(getName()+"的2秒休息完了");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
System.out.println(getName()+"做完了"+count+"个俯卧撑"); } }

playerB.java

public class playerB implements Runnable {

    @Override
public void run() {
System.out.println("选手B出场了!");
boolean flag=true;
int count=0;
while (flag) {
System.out.println(Thread.currentThread().getName()+"做了"+(++count)+"个仰卧起坐");
if (count==100) {
flag=false;
}
if(count%10==0) {
try {
Thread.sleep(2000);//线程休息了2秒
System.out.println(Thread.currentThread().getName()+"的2秒休息完了");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
System.out.println(Thread.currentThread().getName()+"做完了"+count+"个仰卧起坐"); } }

competitionDrive.java

public class competitionDrive {

    public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("比赛开始了"); //两种创建线程方式
Thread A=new playerA();
A.setName("选手A");
A.start(); Thread B=new Thread(new playerB(),"选手B");
B.start(); } }

最新文章

  1. chose.jquery 多选
  2. 移动互联网实战--资源类APP的数据存储处理和优化
  3. [Z] Windows 8/10 audio编程
  4. javascript DOM 节点 第18节
  5. Android学习之Image操作及时间日期选择器
  6. 51Testing丛书新作《软件测试工程师面试秘籍》
  7. apache配置多个站点
  8. Google PageSpeed Tools 性能测试分析
  9. networkx 学习
  10. html的特点及结构
  11. helm 持久化部署ingres
  12. digital envelope routines:EVP_DecryptFinal_ex:wrong final block length问题原因分析
  13. tyvj/joyoi 1305 最大子序和
  14. RenderTexture动态创建纹理
  15. hive 进阶笔记
  16. VirtualBox只能生成32位虚拟机
  17. 算法笔记_139:二分图的最大权匹配(Java)
  18. Yii2在Form中处理短信验证码的Validator,耦合度最低的短信验证码验证方式
  19. HDU 4714 Tree2cycle(树状DP)(2013 ACM/ICPC Asia Regional Online ―― Warmup)
  20. codeforces 792CDivide by Three(两种方法:模拟、动态规划

热门文章

  1. Android Studio无法连接真机的问题?
  2. 887. Super Egg Drop
  3. JAVA并发编程学习笔记------多线程调优
  4. day 55 linux 的常用命令
  5. iOS根据图片url获取尺寸
  6. XmlDocument 避免XXE
  7. 剑指offer二十九之最小的K个数
  8. Spring Security构建Rest服务-0702-短信验证码登录
  9. WordPress导航菜单函数
  10. win7使用命令