多线程基础篇(一)
2020-04-12 12:09
399 查看
线程之间方法区和堆内存共享,栈内存不共享;哪个线程调用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("主线程进入休眠状态!"); } }
相关文章推荐
- 黑马程序员—Java基础—多线程1
- java基础第十八天 多线程
- Java并发编程基础---(14)实现多线程的3种方式
- Java基础之多线程
- Java多线程基础--07之 线程休眠
- Java多线程学习总结之---多线程基础
- java基础——多线程
- 多线程基础概念
- 一个基础的多线程问题,记录学习多线程
- c/c++: 多线程编程基础讲解(二)
- Tarena - 多线程基础
- 黑马程序员——Java基础之多线程
- C#多线程(Thread)开发基础
- 【java】多线程基础
- 多线程基础知识(图片概括)
- Java基础学习笔记之多线程
- Http基础-多线程和Socket
- Java语言基础:多线程
- 黑马程序员自学笔记 Java基础<五>---> 多线程
- 黑马程序员——Java基础---多线程