博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序、进程、线程的关系
阅读量:4179 次
发布时间: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://zbhai.baihongyu.com/

你可能感兴趣的文章
Xcode环境下osip,eXosip, openssl的静态库编译方法(编译出来给IOS使用)
查看>>
armeabi-v7a armeabi arm64-v8a
查看>>
X264码率控制总结1——ABR,CQP,CRF
查看>>
X264码率控制总结2——x264码率控制方法概述
查看>>
vs2015打开VS2010的工程时,无法解析的外部符号 __imp___vsnprintf
查看>>
vs2015 编译obs-studio
查看>>
IOS usleep函数导致线程阻塞
查看>>
简析H264分包组包
查看>>
H.264 视频 RTP 负载格式
查看>>
H.264句法和语法总结(一)句法元素的分层结构
查看>>
H.264句法和语法总结(二)NAL层句法
查看>>
H.264句法和语法总结(三)序列参数集层(SPS)句法
查看>>
H.264句法和语法总结(四)图像参数集语义
查看>>
H.264句法和语法总结(五)片头句法
查看>>
H.264句法和语法总结(六)参考帧队列重排序(reordering)句法
查看>>
H.264句法和语法总结(七)加权预测句法
查看>>
H.264句法和语法总结(八)参考图像序列标记 (marking)操作的语义
查看>>
H.264句法和语法总结(九)片层数据句法
查看>>
H.264句法和语法总结(十一)宏块层预测句法
查看>>
H.264句法和语法总结(十二)子宏块预测句法
查看>>