线程:创建--【J2SE】
创建线程的两种方法:
第一种,定义线程,实现 Runnable接口
public class TestThread1{public static void main(String args[]){Runner1 r=new Runner1(); r.run();//Thread t=new Thread(r);//方法1//t.start();//方法1for (int i =0;i<100;i++){System.out.println("Main Thread:---------" + i);}}
}class Runner1 implements Runnable{public void run(){for (int i =0;i<100;i++){System.out.println("Runner1:" + i );}}
}
Start:Runner1和Main Thread交替运行。
run:Runner1先运行,Main Thread后运行
第二种,定义一个Thread的子类,并重写它的方法。
public class TestThread1{public static void main(String args[]){Runner1 r=new Runner1();r.start();//r.run();// Thread t=new Thread(r);// t.start();for (int i =0;i<100;i++){System.out.println("Main Thread:---------" + i);}}
}class Runner1 extends Thread{public void run(){for (int i =0;i<100;i++){System.out.println("Runner1:" + i );}}
}
建议:从接口来做一个线程比较灵活,推荐大家能使用接口的时候不要从Thread继承。继承就只能继承一个的,控制起来比较麻烦。
附录:
转载于:https://www.cnblogs.com/wangmei/p/4822403.html
线程:创建--【J2SE】相关推荐
- java 继承thread_java线程-创建线程(继承 Thread 类)
1.创建线程的方式 线程创建方式是:继承 Thread 类,重写 run 方法.如下:public class Task extends Thread{ @Override public void r ...
- Java多线程学习(二)---线程创建方式
线程创建方式 摘要: 1. 通过继承Thread类来创建并启动多线程的方式 2. 通过实现Runnable接口来创建并启动线程的方式 3. 通过实现Callable接口来创建并启动线程的方式 4. 总 ...
- linux内核线程创建销毁机制
这个话题乍一听貌似比较大,其实线程创建本身就是一件很平常的事情. 下面将要介绍的是,新版linux中创建内核线程的机制做了一些变化(其实本质没变,最终还是调用do_fork()来实现),和控制线程的时 ...
- Win64 驱动内核编程-12.回调监控进线程创建和退出
回调监控进线程创建和退出 两个注册回调的函数:PsSetCreateProcessNotifyRoutine 进程回调PsSetCreateThreadNotifyRoutine 线程回调分 ...
- 【Linux 内核】进程管理 ( 内核线程概念 | 内核线程、普通进程、用户线程 | 内核线程与普通进程区别 | 内核线程主要用途 | 内核线程创建函数 kernel_thread 源码 )
文章目录 一.内核线程概念 二.内核线程.普通进程.用户线程 三.内核线程.普通进程区别 四.内核线程主要用途 五.内核线程创建函数 kernel_thread 源码 一.内核线程概念 直接 由 Li ...
- 【Android NDK 开发】JNI 线程 ( JNI 线程创建 | 线程执行函数 | 非 JNI 方法获取 JNIEnv 与 Java 对象 | 线程获取 JNIEnv | 全局变量设置 )
文章目录 I . JNI 线程创建 II . 线程执行函数 III . 线程方法获取 Java 对象 IV . 线程方法获取 JNIEnv V . JNI 线程 完整代码示例 I . JNI 线程创建 ...
- 【C++ 语言】线程 ( 线程创建方法 | 线程标识符 | 线程属性 | 线程属性初始化 | 线程属性销毁 | 分离线程 | 线程调度策略 | 线程优先级 | 线程等待 )
文章目录 I 线程创建方法 II 线程执行函数 III 线程标识符 IV 线程属性 V 线程属性 1 ( 分离线程 | 非分离线程 ) VI 线程属性 2 ( 线程调度策略 ) VII 线程属性 3 ...
- java并发编程实践 part 01 --gt; 线程创建方式
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_26654727/article/details/78013989 最近在尝试重新复习一段关于多 ...
- windows下线程创建
windows下线程创建: CreateThread()函数是Windows提供的API接口 1.HANDLE WINAPI CreateThread( LPSECURITY_ATTRIBUTESlp ...
- Qt中子线程创建运行时候出现QObject: Cannot create children for a parent that is in a different thread
这个主要是由于在子线程中创建了父线程的类 比如所我在这里创建指针时候传入了this指针,那么主线程运行run函数时候,相当于传入了主线程的this指针,那么这样就在在子线程创建了主线程的对象,所以就会 ...
最新文章
- 在markdown里面插入特殊的符号
- 高性能Cordova App开发学习笔记
- 【译】What do machine learning practitioners actually do?
- 枚举实现单例singleton
- asp.net(c#)网页跳转七种方法小结
- Java案例:Karel学习Java
- 如何设置xshell代理?
- Nagios 监控redis
- 微处理器OpenRisc、SPARC、RISC-V架构
- 【sklearn第六讲】特征提取(下)
- ElementUI之el-input输入不进去解决办法
- JPEG图像格式解析
- 在EntityFramework中使用 nock的方法。
- 关于js表格固定列实现
- Flink MiniBatch的作用
- ZOJ-3380 Patchouli's Spell Cards(概率DP大数)
- Linux之必备软件安装(搜狗输入法、qq等)
- 【记录贴】IPP3. Convert a Fahrenheit temperature to Celsius and Kelvin.
- 什么是 Merkle Pollard
- 椭圆 —— 从理论推导到最小二乘法拟合
热门文章
- java File类笔记
- 产品设计技术公开-一种扼杀对手的方式
- 医疗信息化、医学、医院管理、医疗器械资料下载
- 艾伟_转载:.NET设计模式:观察者模式(Observer Pattern)
- 关于log4net使用中遇到的错误
- c语言 sizeof length,size()、length ()和sizeof()的区别
- logo语言linux,用 screenfetch 和 linux_logo 显示带有酷炫 Linux 标志的基本硬件信息
- 控件无法安装,windows已经阻止此软件因为无法验证发行者
- 语义分割常用loss介绍——及pytorch实现
- eSpeak: Linux 文本转语音工具