-
1创建线程和线程基本操作<br> 2可见性,volatile关键字<br> 3争用条件<br> 4线程互斥synchronized 5线程同步wait/notify,notifyall查看全部
-
interrupt()--初衷并不是用于停止线程 在调用sleep()或者join()的时候,一旦其他线程调用interrupt(),它将会收到一个异常,这些被阻塞的线程因为某些原因需要被唤醒,比如外部发生了中断而需要响应,这时就采用抛出异常的方式来使其作出响应。总而言之,interrupt()方法并不能正确地停止进程 一个线程在阻塞状态下(例如sleep),此时interrupt的话,将会产生两个结果: 1、进程的interrupt状态被清除(cleard)而非被设置(set)。 2、sleep方法会抛出异常。查看全部
-
boolean型的变量 while循环(要用volatile修饰标志)查看全部
-
停止线程的方法。查看全部
-
java中自带的stop()方法用来停止线程是错误的。查看全部
-
thread 常用方法查看全部
-
Java中 启动线程使用ThreadName.start()方法; 中间使用ThreadName.join()方法可以使其他线程停止等待调用该方法的线程结束; 线程停止要使用正确的方法: stop()方法? No……该方法容易使线程戛然而止,让人不知道线程执行了哪些工作,哪些工作没有执行! Interrupt()方法? No……在API文档中可以找到该方法的使用说明,(interrupt this Thread)中断线程;该方法被调用的时候,线程的中断状态将会被设置;该方法并不能使运行的线程停止下来;//interrupt(),isInterrupt(),interrupted()等方法; So? 线程退出要使用退出标志,如:程序中使用了keepRunning的布尔变量!查看全部
-
Thread常用方法查看全部
-
javav5提供的并发开发工具查看全部
-
同时了解死锁等概念查看全部
-
扩展Java并发查看全部
-
synchronized关键字实现互斥行为,既可以出现在方法体之上也可以出现在方法体内,以一种块的形式出现。 然后通过lockObject的wait方法(注意:wait的线程被存放在wait set 中)和notifyAll方法实现同步。 步骤: 1.互斥:同一时间,只能有一个线程访问数据 2.同步:通信机制;一个线程完成,以某种方式通知其他线程 3.锁的概念:private final Object lockObj = new Object(); 4.互斥实现方式:synchronized关键字 synchronized(lockObj){---执行代码----}加锁操作 lockObj.wait();线程等待状态,以避免线程持续申请锁,不去竞争cpu资源 lockObj.notifyAll();唤醒所有lockObj对象上等待的线程查看全部
-
Thread常用方法查看全部
-
volatile保证了线程可以正确的读取其他线程写入的值 happens-before查看全部
-
Thread常用方法查看全部
举报
0/150
提交
取消