Java 回顾笔记_多线程_线程通讯2
2016-03-14 14:56
281 查看
wait和sleep的区别:
![](https://img<br/>4000<br/>-blog.csdn.net/20160315115527900)
停止线程方式-定义标记:
![](https://img-blog.csdn.net/20160315115559588)
![](https://img-blog.csdn.net/20160315152749927)
通常我们在线程中设置一个 boolean型的变量。
然后在主线程中 可以调用方法来 改变这个变量。
我们在线程中的循环可以用变量来当参数,这样我们就可以用主线程来控制
子线程的循环结束。
-----------
停止线程方式-Interrupt;
![](https://img-blog.csdn.net/20160317091517873)
-——————
守护线程-setDaemon:
可以把它理解为后台线程。以前我们使用的都是前台线程。
区别在于 前台线程必须手动才能结束,后台线程就是,如果所有前台线程都结束了,无论后台线程处于什么状态,都会自动结束。
_______
join方法:
![](https://img-blog.csdn.net/20160317095236546)
比如有A线程使用了该方法,那么必须等A线程结束后其他线程才能运行.
用处在于,临时加入一个线程。
X.setpriority(Thread.xxxxx);给当前线程设置优先级.
![](https://img-blog.csdn.net/20160317102715918)
____
Thread.yieId();
暂停当前线程;释放一下执行权
————
题目:
class text implements Runnable{
public void run(Thread r){}
}
错误在哪?
第一行,因为你没有覆盖实现类的方法,所以会出现 该类不是抽象类,需要实现
——————
![](https://img-blog.csdn.net/20160317105025693)
输出是sub
因为 子类复写了父类的方法.
因为这个是匿名内部类,所以new Thread(这里为父类的任务){这里为子类}
停止线程方式-定义标记:
通常我们在线程中设置一个 boolean型的变量。
然后在主线程中 可以调用方法来 改变这个变量。
我们在线程中的循环可以用变量来当参数,这样我们就可以用主线程来控制
子线程的循环结束。
-----------
停止线程方式-Interrupt;
-——————
守护线程-setDaemon:
可以把它理解为后台线程。以前我们使用的都是前台线程。
区别在于 前台线程必须手动才能结束,后台线程就是,如果所有前台线程都结束了,无论后台线程处于什么状态,都会自动结束。
_______
join方法:
比如有A线程使用了该方法,那么必须等A线程结束后其他线程才能运行.
用处在于,临时加入一个线程。
X.setpriority(Thread.xxxxx);给当前线程设置优先级.
____
Thread.yieId();
暂停当前线程;释放一下执行权
————
题目:
class text implements Runnable{
public void run(Thread r){}
}
错误在哪?
第一行,因为你没有覆盖实现类的方法,所以会出现 该类不是抽象类,需要实现
——————
输出是sub
因为 子类复写了父类的方法.
因为这个是匿名内部类,所以new Thread(这里为父类的任务){这里为子类}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树