-
使用退出标志停止进程查看全部
-
join方法可中断其它线程的执行,等待调用join方法的线程结束,即使是主线程main也会被中断 join()的作用是:“等待该线程终止”,这里需要理解的就是该线程是指的主线程等待子线程的终止。也就是在子线程调用了join()方法后面的代码,只有等到子线程结束了才能执行。查看全部
-
keepRunning声明为volatile保证线程可以正确的读取其他线程写入的值。查看全部
-
线程中Thread的常用方法:单位是毫秒,可以精确到纳秒查看全部
-
进程:动态性 程序或任务的执行的过程, 持有资源(共享内存,共享文件)和线程(进程是它们的载体) 线程: 系统中最小的执行单元,同一进程中有多个线程。线程共享线程的资源 线程交互:即线程通信 线程间存在同步和互斥(方式) 进程:1.程序的执行过程;2.持有资源(内存和共享文件)和线程 线程是系统中最小的执行单元。 线程的交互:1.互斥(争用资源);2.同步(消息的同步)查看全部
-
两种方法实现线程: 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()方法获取当前线程名称查看全部
-
多线程创建概况 相互独立的线程的创建。 使用Runnable接口两个线程查看全部
-
线程中Thread的常用方法:单位是毫秒,可以精确到纳秒 sleep(long millis, int nanos) 线程休眠 millis休眠的时间,单位是毫秒,可以精确到纳秒 join(long millis, int nanos) 调用线程 可以让其它线程等待自己运行,直到结束 static void yield() 当前运行线程释放处理器资源并且重新去竞争处理器资源 static Thread currentThread() 返回当前正在处理器上运行的线程的引用 Java对线程的支持主要体现在Thread(class)和Runnable(interface)之上。两者中共通的方法 public void run(){}为我们提供了线程实际工作执行的代码。查看全部
-
进程:动态性 程序或任务的执行的过程, 持有资源(共享内存,共享文件)和线程(进程是它们的载体) 线程: 系统中最小的执行单元,同一进程中有多个线程。线程共享线程的资源 线程交互:即线程通信 线程间存在同步和互斥(方式) 进程:1.程序的执行过程;2.持有资源(内存和共享文件)和线程 线程是系统中最小的执行单元。 线程的交互:1.互斥(争用资源);2.同步(消息的同步)查看全部
-
11111查看全部
-
扩展建议: Java Memory Mode JMM描述了java线程如何通过内存进行交互 happens-before synchronized,volatile & final Lock 和 Condition对象 java锁机制和等待条件的高层实现 java.util.concurrent.locks 线程的安全性: 原子性和可见性 java.util.concurrent.atomic synchronized & volatile DeadLocks 多线程常用的交互模型: Producer-Consumer模型 Read-Write Lock模型 Future模型 Worker Thread 模型 java5引入的并发编程工具: java.util.concurrent 线程池ExecutorService Callable & Future BlockingQueue查看全部
-
要点回顾:查看全部
-
同步是两个线程之间的一种交互的操作(一个线程发出消息另外一个线程响应)。 同步的实现:wait();notify();notifyAll();这三个方法都是属于Java中的Object对象的成员函数。 调用wait();和notifyAll();方法使线程进入等待或者唤醒不是在同一个线程的同一次操作中执行的,当操作结束,唤醒了所有的等待线程之后,线程又将有着公平的机会竞争CPU资源。 注意:notify();方法唤醒wait set 中的一条线程使其具有竞争CPU的机会,具体唤醒那一条线程是随机的由Java的底层算法决定,我们不能去控制。 通过synchronized关键字为临界区(critical)加锁,这样在线程竞争资源时,当某一条线程获得锁进入临界区后,其他线程将无法再次获取锁进入临界区(critical),直到获得锁的线程退出临界区(critical),释放锁资源。Java的语法保证了同一时间只能有一条线程可以获得lockObject。查看全部
-
什么是互斥?互斥是怎么实现的? 互斥的实现:synchronized(lockObj);java的语法保证的同一时间,只有一个线程获得lockObj查看全部
-
JMM 描述java线程如何通过内存进行交互 happens-before原则 Locks 和 Condition 对象,java锁机制和等待条件的高层实现 线程的安全性:原子性和可见性。 java.util.concurrent.atomic包和synchronized&volatile,DeadLock 多线程的交互模型 java5引入的并发编程工具 Core Java第九版,java线程的基本操作和方法 Java concurrency in practice 详细介绍涵盖面比较广查看全部
举报
0/150
提交
取消