-
wait set 位于lock上查看全部
-
Java实现线程的两种主要方法: ①.继承Thread类 ②.实现Runnable接口 但是二者都必须重写public void run()方法查看全部
-
进程: 程序的执行过程;持有资源和线程。 线程:系统中最小的执行单元。 比如一个软件里边的各种任务就是线程。 线程的交互:互斥、同步查看全部
-
Stage: package com.imooc.thread; /* * 隋唐演义大戏舞台 */ public class Stage extends Thread { public void run() { //隋唐军 ArmyRunnable armyTaskOfSuiDynasty=new ArmyRunnable(); //农民军 ArmyRunnable armyTaskOfRevolt=new ArmyRunnable(); Thread armyOfSuiDynasty=new Thread(armyTaskOfSuiDynasty, "隋军"); Thread armyOfRevolt=new Thread(armyTaskOfRevolt, "农民军"); //启动线程,军队开始作战 armyOfSuiDynasty.start(); armyOfRevolt.start(); //舞台线程休眠 try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } armyTaskOfSuiDynasty.keeprunning=false; armyTaskOfRevolt.keeprunning=false; try { armyOfRevolt.join(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { new Stage().start(); } }查看全部
-
ArmyRunnable: package com.imooc.thread; /* * 军队线程 * 模拟作战双方的行为 */ public class ArmyRunnable implements Runnable { //volatile保证了线程可以正确读取其他线程写入的值 //可见性 ref JMM,happens-before原则 volatile boolean keeprunning=true; public void run() { while (keeprunning) { //发动5连击 for (int i = 0; i < 5; i++) { System.out.println(Thread.currentThread().getName()+"进攻对方【"+i+"】次"); Thread.yield();//让出处理器时间 } } System.out.println(Thread.currentThread().getName()+"结束战斗!"); } }查看全部
-
进程: 程序的执行过程;持有资源和线程。 线程:系统中最小的执行单元。 比如一个软件里边的各种任务就是线程。 线程的交互:互斥、同步查看全部
-
线程mark查看全部
-
.0.0查看全部
-
Thread常用方法查看全部
-
volatile查看全部
-
在创建线程的过程当中可以添加对应的runnable对象。来创建不同的线程查看全部
-
Thread类中的常用方法简介.查看全部
-
退出线程 ①.stop处于强制退出线程,线程不需全部运行完。--------不推荐使用 ②.推荐使用boolean变量做标记查看全部
-
1.加入join是为了让舞台线程最后停止,如果不加有可能舞台线程结束,军队线程还未停止,就好比导演喊停,演员还在演!可以在join后面加入测试语句System.out.println("舞台结束!");,然后去掉或者保留join观察效果。 2.volatile 关键字 保证了线程可以正确地读取其他线程写入的值,如果不写成volatile,由于可见性的问题,当前线程有可能不能读到这个值//可见性JMM(JAVA内存模型)happens-before原则、可见性原则 用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的值 3.Thread.yield();//让出处理器时间,公平竞争查看全部
-
每一个java文件中只能有一个public类 两种方法实现线程: 1、继承 Thread 类 class MyThread extends Thread{}; Thread myThread = new MyThread(); myThread.start(); 2、实现Runnable类 class MyRunnable implements Runnable{} Thread myRunnable = new Thread(new MyRunnable); myRunnable.start(); 3、Thread启动后执行run()方法 4、若实现接口通过Thread.currentThread().getName()方法获取当前线程名称,继承Thread则getName()方法获取当前线程。查看全部
举报
0/150
提交
取消