-
Thread常用方法
查看全部 -
4:00,涉及性能问题查看全部
-
查看全部
-
如何成为一个线程,继承线程查看全部
-
java线程正确停止是使用退出标志
查看全部 -
1、java对线程的支持
查看全部 -
进程与线程的关系,线程可以说是在进程的基础上进行操作的,
查看全部 -
1:线程的互斥是指,在同一时间关键数据只能有一个线程访问<br>
2:线程互斥的实现有synchronized关键字来实现,类似于给对应的代码加锁,只有获得锁的线程才能运行此段代码
3:线程的同步是指,线程间的一种通信控制,一个线程完成了某事后通知另一个线程可以进行下面的事情了
4:线程同的实现有wait(),notify(),notifyall()这几个方法来实现,这几个方法都是属于object类,并不是thread类
建议:
1、Java Memory Mode:JMM描述了java线程如何通过内存进行交互,了解happens-before,synchronized,voliatile & final
2、Locks % Condition:锁机制和等待条件的高层实现 java.util,concurrent.locks
3、线程安全性:原子性与可见性,死锁等
4、多线程常用的交互模型
· Producer-Consumer模型
· Read-Write Lock模型
· Future模型
· Worker Thread模型
5、Java5中并发编程工具:java.util.concurrent 线程池ExcutorService Callable&Future BlockingQueue查看全部 -
一、线程的特点:
进程是资源分配的最小单位,一个进程中有1—n个线程,线程共享资源,同一时刻只能有一个线程占领CPU
二、多线程:之间争用资源,多线程之间同步与互斥<br>
1,多线程之间的互斥(加锁实现):同一时间,只能有一个线程访问临界区(防止线程之间争用条件造成的“能量损失”)[对该临界资源进行加锁,表示现在只能由该线程进行访问]<br>
2,多线程之间的同步(线程的等待和唤醒:wait()+notifyAll()):通信机制;一个线程完成,以某种方式通知其他线程可以访问临界区<br>
3,锁:private final Object lockObj=new Object();
三、重要的话
线程之间的互斥:通过加锁实现:线程访问临界区的代码放在一个代码块中,加锁实现
线程之间的同步:通过wait()+notify()的通信机制来实现
wait()和notifyAll()是在线程同步的时候使用的一对方法查看全部 -
广为流传的错误方法---interrupt方法
while(!this.isInterrupt()){//实质上还是做标记
syso..."Thread is running...";
long time=System.currentTimeMillis();
while(System.currentTimeMillis()-time<1000){
//减少屏幕输出的空循环
}
}
//效果相当于Thread.sleep(1000);为何不使用sleep?interrupt()方法只能设置interrupt标志位(且在线程阻塞情况下,标志位会被清除,更无法设置中断标志位),无法停止线程。
Ps:一个线程在阻塞状态下(例如sleep),此时interrupt的话,将会产生两个结果:
1、进程的interrupt状态被清除(cleard)而非被设置(set)。
2、sleep方法会抛出异常。查看全部 -
thread
查看全部 -
Thread常用方法
查看全部 -
线程
查看全部 -
进程
查看全部 -
Thread常用方法
查看全部
举报