-
两种方法实现线程: 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()方法获取当前线程名称查看全部
-
CPU一次只能處理一個線程,所以兩個線程交替進行 [ 查看全文 ]查看全部
-
http://img1.sycdn.imooc.com//551e7ccb00016d7512000530-156-88.jpg查看全部
-
线程的类和接口: 1.class Thread 2.interface Runnable 共同方法:public void run() [ 查看全文 ]查看全部
-
1,线程是系统中最小的执行单元 2,同一进程中有多个线程 3,线程共享进程的资源 线程的交互 互斥:需要等待前面线程执行完成了后面的线程才能执行 同步:需要线程合作才能完成 [ 查看全文 ]查看全部
-
Thread常用方法查看全部
-
thread常用方法查看全部
-
Thread Runnable + run(); Thread thread = new Thread(new Runnable() {public void run() {}}); thread.start(); Thread.sleep(1000); thread.join(); // 使其它线程等待当前线程终止 thread.yield(); // 当前线程释放处理器资源 Thread.currentThread(); // 当前运行线程的引用查看全部
-
线程的类和接口: 1.class Thread 2.interface Runnable 共同方法:public void run()查看全部
-
进程:1.程序的执行过程;2.持有资源(内存和共享文件)和线程 线程是系统中最小的执行单元。 线程的交互:1.互斥(争用资源);2.同步(消息的同步)查看全部
-
join方法可中断其它线程的执行,等待调用join方法的线程结束,即使是主线程main也会被中断 join()的作用是:“等待该线程终止”,这里需要理解的就是该线程是指的主线程等待子线程的终止。也就是在子线程调用了join()方法后面的代码,只有等到子线程结束了才能执行。查看全部
-
volatile 关键字 保证了线程可以正确地读取其他线程写入的值,如果不写成volatile,由于可见性的问题,当前线程有可能不能读到这个值//可见性JMM(JAVA内存模型)happens-before原则、可见性原则 用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的值查看全部
-
使用volatile变量降低了发生内存一致性错误的风险, 因为任何对volatile变量的写操作都与对该变量的读操作建立了happens-before关系。这种关系意味着对volatile变量值的改变对其他线程总是可见的。更近一步, 当一个线程读取volatile变量的时候,该线程不但读取了最近的变化,而且是导致该变化发生代码的全部影响 简而言之,对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入。查看全部
-
happens-before原则 从JDK5开始,Java使用新的JSR -133内存模型。JSR-133提出了happens-before的概念,通过这个概念来阐述操作之间的内存可见性。 如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须存在happens-before关系。这里提到的两个操作既可以是在一个线程之内,也可以是在不同线程之间。两个操作之间具有happens-before关系,并不意味着前一个操作必须要在后一个操作之前执行!happens-before仅仅要求前一个操作(执行的结果)对后一个操作可见。 常见的满足happens- before原则的语法现象: •对象加锁:对一个监视器锁的解锁,happens-before 于随后对这个监视器锁的加锁。 •volatile变量:对一个volatile域的写,happens-before 于任意后续对这个volatile域的读。查看全部
-
笔记笔记查看全部
举报
0/150
提交
取消