博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线程的创建
阅读量:4180 次
发布时间:2019-05-26

本文共 5367 字,大约阅读时间需要 17 分钟。

创建一个Java线程常见的有两种方式:

1.继承Thread类

两种表示方法:
(1).外部类

import java.util.Date;public class Test1 {
public static void main(String[] args) { //启动新线程 来完成输出时间的操作 Mytime mt=new Mytime(); //启动新线程 Thread的start() mt.start(); for (int i = 0; i < 100; i++) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("主线程::"+i); } }}//外部类的解决方案class Mytime extends Thread{
@Override public void run() { // 放入线程要执行的代码 这是一个非常耗时的操作 boolean flag=true; while(flag){ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } Date d=new Date(); System.out.println(d); } }}

(2).匿名内部类

import java.util.Date;public class Test2 {
/** * @param args */ public static void main(String[] args) { //匿名内部类的解决方案 Thread t=new Thread(){ @Override public void run() { boolean flag=true; while(flag){ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } Date d=new Date(); System.out.println(d); } } }; t.start(); for (int i = 0; i < 100; i++) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("主线程::"+i); } }}------------------------------------------------------import java.util.Date;public class Test3 {
/** * @param args */ public static void main(String[] args) { //匿名内部类 方案 因为这时 子类名是没有的 直接对Thread的run方法进行了实现 new Thread(){ @Override public void run() { boolean flag=true; while(flag){ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } Date d=new Date(); System.out.println(d); } } }.start(); for (int i = 0; i < 100; i++) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("主线程::"+i); } }}

2.实现Runnable接口

两种表示方法
(1).外部类

import java.util.Date;public class Test4 {
/** * @param args */ public static void main(String[] args) { Mytime2 mt=new Mytime2(); // 创建线程用Thread类 并指定这个线程要执行的任务是mt Thread t=new Thread(mt); t.start(); for (int i = 0; i < 100; i++) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("主线程::"+i); } }}//外部类 这表示一个线程可以执行的任务 class Mytime2 implements Runnable{ @Override public void run() { boolean flag=true; while(flag){ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } Date d=new Date(); System.out.println(d); } } }

(2).匿名内部类

import java.util.Date;public class Test5 {
/** * @param args */ public static void main(String[] args) { // 创建一个任务对象 匿名内部类 有对象的引用 Runnable r=new Runnable(){ @Override public void run() { boolean flag=true; while(flag){ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } Date d=new Date(); System.out.println(d); } } }; Thread t=new Thread(r); t.start(); for (int i = 0; i < 100; i++) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("主线程::"+i); } }}----------------------------------------------------------------------------import java.util.Date;public class Test6 {
/** * @param args */ public static void main(String[] args) { // 创建一个任务对象 匿名内部类 new Thread(new Runnable(){ @Override public void run() { boolean flag=true; while(flag){ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } Date d=new Date(); System.out.println(d); } } }).start(); for (int i = 0; i < 100; i++) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("主线程::"+i); } }}

转载地址:http://kbhai.baihongyu.com/

你可能感兴趣的文章
计算G711语音的打包长度和RTP里timestamp(时间戳)的增长量
查看>>
H264码流打包成RTP包
查看>>
使用librtmp进行H264与AAC直播
查看>>
H.264 RTP Streaming
查看>>
H264实时编码及NALU,RTP传输(续)(ZZ)
查看>>
H.264 基础及 RTP 封包详解
查看>>
VS2015 编译live555源码
查看>>
VS2015下编译libeXosip2.5.0
查看>>
x264码率控制参数详解
查看>>
X264在VS2015环境下编译
查看>>
linphone-iphone最新源码编译
查看>>
解读x264_param_default 参数
查看>>
ios编译linphone 开启x264编译
查看>>
x264命令参数与代码对应关系
查看>>
关于编译x264时出现的for Cortex-A8 erratum because it has no mapping symbols问题
查看>>
M3U8格式讲解及实际应用分析
查看>>
流媒体开发之--HLS--M3U8解析(2): HLS草案
查看>>
CMake 手册详解(一)
查看>>
CMake 手册详解(二)
查看>>
CMake 手册详解(三)
查看>>