多线程基础篇

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程基础篇相关的知识,希望对你有一定的参考价值。

线程之间方法区和堆内存共享,栈内存不共享;哪个线程调用sleep()方法,哪个线程就进入睡眠状态,与哪个对象调用该方法无关.start()方法的作用是创建一个线程的栈内存,该方法与普通方法相同,执行完立刻销毁.
技术图片

package test1;

public class RacerRunnable implements Runnable{
    /**
     * 龟兔赛跑多线程
     */
    public String winner;
    public void run() {
    for(int step = 1; step <= 100; step++) {
        if(Thread.currentThread().getName().equals("rabbit") && step % 10 == 0)
            try {
                Thread.sleep(1);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        if(gameOver(step)==true) {
            break;
        }
        System.out.println(Thread.currentThread().getName()+"-->"+step );
    }
}
public boolean gameOver(int step) {
    if(winner != null) {
        return true;
    }else if(step == 100) {
        winner = Thread.currentThread().getName();
        System.out.println("winner-->"+Thread.currentThread().getName());
        return true;
    }else {
        return false;
    }
}
public static void main(String[] args) {
    RacerRunnable racer = new RacerRunnable();
    new Thread(racer, "tortoise").start();
    new Thread(racer, "rabbit").start();
    try {
        Thread.sleep(2000);   //主线程调用sleep()方法,主线程进入睡眠状态.
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    System.out.println("主线程进入休眠状态!");
}
}

以上是关于多线程基础篇的主要内容,如果未能解决你的问题,请参考以下文章

多线程 Thread 线程同步 synchronized

JAVA SE基础篇54.多线程介绍和创建

java多线程基础

Python 3多线程编程学习笔记-基础篇

接口测试基础——第10篇 threading多线程和sys

并发编程之多线程基础篇及面试