-
Thread查看全部
-
Runnable 为非 Thread 子类的类提供了一种激活方式。通过实例化某个 Thread 实例并将自身作为运行目标,就可以运行实现 Runnable 的类而无需创建 Thread 的子类。大多数情况下,如果只想重写 run() 方法,而不重写其他 Thread 方法,那么应使用 Runnable 接口。这很重要,因为除非程序员打算修改或增强类的基本行为,否则不应为该类创建子类。查看全部
-
Thread常用线程查看全部
-
进程in查看全部
-
Thread常用方法查看全部
-
条件征用查看全部
-
java5中并发编程工具查看全部
-
多线程编程常用的交互模型查看全部
-
线程安全性查看全部
-
Locks & Conditon :java5.0后推出的查看全部
-
Java Memory Mode查看全部
-
互斥的实现:synchronized(lockObj);java的语法保证的同一时间,只有一个线程获得lockObj 同步:wait(),notify(),notifyall(),都是属于object类,并不是thread类 wait set 类似于线程的休息室,访问共享数据的代码称为critical section。一个线程获取锁,然后进入临界区 ,发现某些条件不满足,然后调用锁对象上的wait方法,然后线程释放掉锁资源,进入锁对象上的wait set。其他线程可以获取锁资源,然后执行,完了以后调用notify,通知锁对象上的等待线程。 Ps:若调用notify();则随机拿出(这随机拿出是内部的算法)一条在等待的资源进行准备进入Critical Section;若调用notifyAll();则全部取出进行准备进入Critical Section。查看全部
-
互斥的实现:synchronized(lockObj);java的语法保证的同一时间,只有一个线程获得lockObj 同步:wait(),notify(),notifyall(),都是属于object类,并不是thread类 wait set 类似于线程的休息室,访问共享数据的代码称为critical section。一个线程获取锁,然后进入临界区 ,发现某些条件不满足,然后调用锁对象上的wait方法,然后线程释放掉锁资源,进入锁对象上的wait set。其他线程可以获取锁资源,然后执行,完了以后调用notify,通知锁对象上的等待线程。 Ps:若调用notify();则随机拿出(这随机拿出是内部的算法)一条在等待的资源进行准备进入Critical Section;若调用notifyAll();则全部取出进行准备进入Critical Section。查看全部
-
通过lockObject的wait方法(注意:wait的线程被存放在wait set 中)和notifyAll方法实现同步。<br> 步骤:<br> 1.互斥:同一时间,只能有一个线程访问数据<br> 2.同步:通信机制;一个线程完成,以某种方式通知其他线程<br> 3.锁的概念:private final Object lockObj = new Object();<br> 4.互斥实现方式:synchronized关键字<br> synchronized(lockObj){---执行代码----}加锁操作<br> 同步: lockObj.wait();线程等待状态,以避免线程持续申请锁,不去竞争cpu资源<br> lockObj.notifyAll();唤醒所有lockObj对象上等待的线程查看全部
-
争用条件查看全部
举报
0/150
提交
取消