-
volatile 修饰线程类成员变量: 保证了线程可以正确的读取其他线程写入的值 可见性原则 看JMM(java 内存模型) happens-before原则查看全部
-
Java对线程的支持: Thread Runnable run() -- 线程执行工作的代码 常用方法查看全部
-
线程的交互: 多个线程需要通信才能正确工作, 这个通信的过程称为交互 交互的方式有两种: 互斥 / 同步 互斥: 共享资源, 存在竞争关系 同步: 几个线程一起协作才能完成任务查看全部
-
线程: 线程是系统中最小的执行单元 统一进程中有多个线程 线程共享进程的资源查看全部
-
进程定义: 1. 进程是程序(任务)的执行过程 -- 动态性 2. 持有资源(共享内存, 共享文件)和线程 ---- 载体查看全部
-
线程是系统中最小的执行单元 同一进程中有多个线程 线程共享进程的资源 进程的交互:互斥,同步。查看全部
-
Thread常用方法查看全部
-
join优先执行当前线程其他线程等待查看全部
-
Java线程——线程交互——争用条件 1、当多个线程同时共享访问同一数据(内存区域)时,每个线程都尝试操作该数据,从而导致数据被破坏(corrupted),这种现象称为争用条件 2、原因是,每个线程在操作数据时,会先将数据初值读【取到自己获得的内存中】,然后在内存中进行运算后,重新赋值到数据。 3、争用条件:线程1在还【未重新将值赋回去时】,线程1阻塞,线程2开始访问该数据,然后进行了修改,之后被阻塞的线程1再获得资源,而将之前计算的值覆盖掉线程2所修改的值,就出现了数据丢失情况查看全部
-
线程1由于sleep、join等方法进入阻塞状态,其他线程(主线程)运行中调用线程1的interrupt方法,使得线程1的中断标志位置为true,此时线程1的sleep或join等方法检测到其中断标志位为true,抛出中断异常停止阻塞状态清空中断标志即置为false,因此,无法停止线程。查看全部
-
线程执行过程中几个重要的方法 sleep(); 让线程休眠一段时间, yield(); 让出当前线程的执行权限,让线程调度重新选择线程进行执行; join(); 让其他线程都停止,等待当前线程执行完毕。查看全部
-
每一个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()方法获取当前线程。查看全部
-
线程的创建:Thread() Thread(String name) Thread(Runnable target) Thread(Runnable target,String name) 线程的方法: void start()启动线程 static void sleep(long millis) static void sleep(long millis,int nanos)线程休眠 void join() void join(long millis) void join(long millis ,int nanos) 使其他线程等待当前线程终止 static void yield() 当前运行线程释放处理器资源 获取线程的引用static Thread currentThread() 返回当前运行的线程引用查看全部
-
进程---程序的执行过程 持有资源和线程 资源就是内存 可以共享内存,共享文件 线程与进程是字母关系 一个进程可以有多个线程 线程---就是一个正在运行应用程序中的某一项任务或方法 线程之间可以互斥 同步 互斥---当多个线程访问同一个资源的时候 只要有一个线程正在访问中其它的线程就需要等待查看全部
-
java concurrency in practice查看全部
举报
0/150
提交
取消