java编程语言使多线程如此简单有效,以致于某些程序员说它实际上是自然的。尽管在 Java 中使用线程比在其他语言中要容易得多,仍然有一些概念需要掌握。要记住的一件重要的事情是 main() 函数也是一个线程,并可用来做有用的工作。程序员只有在需要多个线程时才需要创建新的线程。

Thread 类

Thread 类是一个具体的类,即不是抽象类,该类封装了线程的行为。要创建一个线程,程序员必须创建一个从 Thread 类导出的新类。程序员必须覆盖 Thread 的 run() 函数来完成有用的工作。用户并不直接调用此函数;而是必须调用 Thread 的 start() 函数,该函数再调用 run()。下面的代码说明了它的用法:

创建两个新线程

import java.util.*;

class TimePrinter extends Thread

int pauseTime;

String name;

public TimePrinter(int x, String n)

pauseTime = x;

name = n;

public void run()

while(true)

try

System.out.println(name + ":" + new Date(System.currentTimeMillis()));

Thread.sleep(pauseTime);

catch(Exception e)

System.out.println(e);

static public void main(String args[])

TimePrinter tp1 = new TimePrinter(1000, "Fast Guy");

tp1.start();

TimePrinter tp2 = new TimePrinter(3000, "Slow Guy");

tp2.start();

在本例中,我们可以看到一个简单的程序,它按两个不同的时间间隔(1 秒和 3 秒)在屏幕上显示当前时间。这是通过创建两个新线程来完成的,包括 main() 共三个线程。但是,因为有时要作为线程运行的类可能已经是某个类层次的一部分,所以就不能再按这种机制创建线程。虽然在同一个类中可以实现任意数量的接口,但 Java 编程语言只允许一个类有一个父类。同时,某些程序员避免从 Thread 类导出,因为它强加了类层次。对于这种情况,就要 runnable 接口。

java中多线程编程案例_Java中多线程编程实战的实现线程_Java编程_Java程序员_课课家...相关推荐

  1. 黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

    黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合 ...

  2. 黑马程序员_异常(老毕视频总结及《疯狂java》补充)

    ----------------------<ahref="http://edu.csdn.net"target="blank">ASP.Net+A ...

  3. java io重定向,java中的标准重定向标准IO_java标准IO_java构建器_课课家

    java 1.1在System类中添加了特殊的方法,允许我们重新定向标准输入.输出以及错误IO流.此时要用到下述简单的静态方法调用: setIn(InputStream) setOut(PrintSt ...

  4. 中职校计算机案例教学法,中职计算机课程中案例教学法的应用研究

    摘 要:在教学中采用案例教学法,能够将教学的理论以及实际情况进行有效的优化整合,从而明确教学的目标,使得教学可以顺利的进行.案例教学法有其自身的应用优势,通过应用设置情境以及采用各种其他的方法来对学生 ...

  5. 如何向oracle中导入数据,Oracle导入导出数据库的语法_Oracle_Oracle语法_Oracle数据库_课课家...

    在Oracle当中如何才能对数据库的语法进行导入导出呢?其实啊,这有不止一种方法呢.事实上啊,在Oracle当中,不仅可以在Oracle编辑器中用图形化的方式导入导出文理文件的数据方式,而且还可以采用 ...

  6. linux中数据库的4种状态,数据库的数据持久有几种方案_数据库_数据管理_数据结构_课课家...

    容器中的数据可以存储在容器层.但是将数据存放在容器层存在以下问题: 数据不是持久化.意思是如果容器删除了,这些数据也就没了 主机上的其它进程不方便访问这些数据 对这些数据的I/O会经过存储驱动,然后到 ...

  7. 解析python网络爬虫pdf 黑马程序员_正版 解析Python网络爬虫 核心技术 Scrapy框架 分布式爬虫 黑马程序员 Python应用编程丛书 中国铁道出版社...

    商品参数 书名:Python应用编程丛书:解析Python网络爬虫:核心技术.Scrapy框架.分布式爬虫 定价:52.00元 作者:[中国]黑马程序员 出版社:中国铁道出版社 出版日期:2018-0 ...

  8. java程序员_哪些书是不可错过的?Java程序员书单分享

    作为后浪程序员,我们要精通一门编程语言,最好的途径就是看书,而这个时候读什么书就变成了最关键的了,靠谱的书籍无疑可以让我们少走弯路事半功倍,今天就来给大家推荐一些Java工程师必备书籍. ​入门篇&l ...

  9. 300小时成为java程序员_直击面试现场: Java程序员3轮6小时面试, 成功拿到阿里offer!...

    原标题:直击面试现场: Java程序员3轮6小时面试, 成功拿到阿里offer! 今天给大家分享一位Java程序员小伙去阿里应聘的经历! 从Java开发要掌握的技术来讲,前面已经说得差不多了.我主要想 ...

最新文章

  1. 牛顿棺材板快盖不住了:用深度神经网络解决三体问题,提速一亿倍
  2. linux ls 按 文件名 大小 时间 排序
  3. 【DBMS 数据库管理系统】数据仓库特征 ( 特征一 : 面向主题组织数据 | 特征二 : 数据集成 | 特征三 : 数据不可更新 | 特征四 : 随时间不断变化 )
  4. 数据类型转换(针对数字类型)
  5. docker容器修改开机启动服务器,docker-修改容器挂载目录的3种方法小结
  6. poj1062 Bellman 最短路应用
  7. Redis介绍以及安装(Linux与windows)
  8. Github标星27.1k,可大批量生成假数据,这个工具忒牛
  9. python类中变量作用域_python进阶14变量作用域LEGB
  10. 前端实现街道地图_来自法国的注重保护个人隐私的开源地图
  11. java8新日期时间类使用
  12. 活动、节假日、促销等营销方式的因果效应评估——特征工程篇(一)
  13. c#程序片段,替换所有同名文件
  14. VS2015+Access2016编写数据库程序
  15. 《数据结构》线性表——链式存储结构
  16. 基于视觉无人机的高速公路违章识别技术
  17. 操作系统--虚拟内存
  18. uni-app上传图片base64
  19. 我们的宇宙,在某种意义上,是最好的一个
  20. RTK模块性能测试分析对比-GNSS实测- RTK板卡100赫兹延迟实测及分析

热门文章

  1. linux怎么开机默认进入桌面图标,如何让ubuntu开机默认进入命令行啊?
  2. 清华大学计算机专业学生埃朗读村,《朗读者~矣晓沅(清华大学计算机研究生  彝族)》...
  3. centos7安装mysql日志空白_centos7安装Mysql爬坑记录 - G
  4. 克里斯蒂安贝尔_克里斯蒂安贝尔和乌云背后的幸福线导演合作神秘“大片”
  5. CentOS6.7安装scala2.11.7
  6. 用 Python 制作子弹图也这么简单,爱了~
  7. 告别刷抖音!30秒一个Python小例子,总有一款适合你
  8. 想学数据分析但不会Python,过来看看SQL吧(上)~
  9. 那些年,杜蕾斯紧跟热点的骚包文案有哪些?
  10. 电力电子应用技术_RFID技术应用在电力行业工具管控