使用多线程实现两个子线程分别对1~100的奇偶输出
2018-03-15 14:33
253 查看
方法一:创建两个对象实现package com.atguigu.thread.exer;
class SubThread1 extends Thread{
public void run(){
for (int i = 1; i <= 100; i++) {
if (i%2==0) {
System.out.println(currentThread().getName()+":"+i);
}
}
}
}
class SubThread2 extends Thread{
public void run(){
for (int i = 1; i <= 100; i++) {
if (i%2!=0) {
System.out.println(currentThread().getName()+":"+i);
}
}
}
}
public class TestThread {
public static void main(String[] args) {
SubThread1 sub1 = new SubThread1();
SubThread2 sub2 = new SubThread2();
sub1.start();
sub2.start();
}
}
方法二:通过匿名内部类的方式实现package com.atguigu.thread.exer;
public class TestThread {
public static void main(String[] args) {
new Thread(){
public void run(){
for (int i = 1; i <= 100; i++) {
if (i%2==0) {
System.out.println(currentThread().getName()+":"+i);
}
}
}
}.start();
new Thread(){
public void run(){
for (int i = 1; i <= 100; i++) {
if (i%2!=0) {
System.out.println(currentThread().getName()+":"+i);
}
}
}
}.start();
}
}
class SubThread1 extends Thread{
public void run(){
for (int i = 1; i <= 100; i++) {
if (i%2==0) {
System.out.println(currentThread().getName()+":"+i);
}
}
}
}
class SubThread2 extends Thread{
public void run(){
for (int i = 1; i <= 100; i++) {
if (i%2!=0) {
System.out.println(currentThread().getName()+":"+i);
}
}
}
}
public class TestThread {
public static void main(String[] args) {
SubThread1 sub1 = new SubThread1();
SubThread2 sub2 = new SubThread2();
sub1.start();
sub2.start();
}
}
方法二:通过匿名内部类的方式实现package com.atguigu.thread.exer;
public class TestThread {
public static void main(String[] args) {
new Thread(){
public void run(){
for (int i = 1; i <= 100; i++) {
if (i%2==0) {
System.out.println(currentThread().getName()+":"+i);
}
}
}
}.start();
new Thread(){
public void run(){
for (int i = 1; i <= 100; i++) {
if (i%2!=0) {
System.out.println(currentThread().getName()+":"+i);
}
}
}
}.start();
}
}
相关文章推荐
- Java实现多线程经典问题:使用三个线程实现输出ABCABC循环
- 主线程启动两个线程,并输出BEBEBE……BE...BE的字符串。要求,两个子线程分别连续输出B和E。
- 使用Java 多线程编程 让三个线程轮流输出ABC,循环10次后结束
- JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没
- 从头认识java-18.2 基本的线程机制(6)-使用构造器或者内部类来实现多线程的编码变体
- 4. 使用循环输出:100,95,90,85,。。。,5。使用编程实现。
- 1、使用快速枚举语法实现: //构建一个NSSMutableArray数组,用@”1”至@”100”进行填充。以NSLog依次打印数组中的内容,将此数组分为奇偶两数组,再打印两新数组中的元素。
- 多线程的使用技巧:使用匿名内部类来实现一个线程的创建
- 多线程(银行存款)使用notify()和wait()线程通信实现交替存款
- 多线程 : 使用Lock 和 Condition 实现线程间互斥与通信
- Java多线程--三个线程分别打印a,b,c.请用多线程实现循环打印15次abc
- 多线程---使用ManualResetEvent来控制线程间的同步(实现了消费者和生产者模式)
- Java 多线程实现的三种方法,附两个线程执行不同的输出
- C#构建多线程应用程序(1) —— 使用委托来自动创建次线程以实现异步方法的调用
- 多线程环境下使用log4j输出各线程的标识,区分各线程输出的内容
- 多线程编程题目:使用三个线程有序输出“1,2,3,1,2,3。。。”,其中线程1只输出1,线程2只输出2,线程3只输出3
- 多线程实现的方式3:(开启不同的线程,分别进行求和)
- Java:多线程,分别用Thread、Runnable、Callable实现线程
- 多线程编程之使用工作线程实现文档自动保存(II)
- Java:多线程,使用同步锁(Lock)时利用Condition类实现线程间通信