1.实现多线程
2016-04-12 10:59
176 查看
多线程编程有两种方式:
继承Thread类,实现run()方法
实现Runnable接口,实现run()方法
比较:
继承Thread类的方式最大的局限性就是不支持多继承
实现Runnable接口可以实现资源共享,即多个Thread对象共享同一个Runnable对象
Thread已经实现了Runnable接口
其他:
多次调用同一个Thread对象的start()方法,会出现IllegalThreadStateException异常
调用start()方法,通知”线程规划器”此线程已经就绪了
如果线程A直接调用线程对象的run()方法,run()方法是在线程A中运行的。这是同步调用,而不是异步调用。
Thread已经实现了Runnable接口。Thread(Runnable target)不光可以传入Runnable对象,也可以传入Thread对象,将一个Thread对象的run()方法交于另一个线程执行
在某些JVM中,i–操作是非原子性的,分为三部:1.取得i的值 2.计算i-1 3.对i进行赋值
继承Thread类,实现run()方法
实现Runnable接口,实现run()方法
比较:
继承Thread类的方式最大的局限性就是不支持多继承
实现Runnable接口可以实现资源共享,即多个Thread对象共享同一个Runnable对象
Thread已经实现了Runnable接口
其他:
多次调用同一个Thread对象的start()方法,会出现IllegalThreadStateException异常
调用start()方法,通知”线程规划器”此线程已经就绪了
如果线程A直接调用线程对象的run()方法,run()方法是在线程A中运行的。这是同步调用,而不是异步调用。
Thread已经实现了Runnable接口。Thread(Runnable target)不光可以传入Runnable对象,也可以传入Thread对象,将一个Thread对象的run()方法交于另一个线程执行
在某些JVM中,i–操作是非原子性的,分为三部:1.取得i的值 2.计算i-1 3.对i进行赋值
相关文章推荐
- C语言-队列
- cygwin执行wmic时无响应的解决方法
- 北京Uber优步司机奖励政策(4月12日)
- 手机版测试
- C#基础(二)
- Eclipse打包时出现export aborted because fatal lint errors
- 图的邻接表创建和深度优先搜索
- Gabor实现图像特征提取
- Azure PowerShell (11) 使用自定义虚拟机镜像模板,创建Azure虚拟机并绑定公网IP(VIP)和内网IP(DIP)
- jquery中实现时间戳与日期相互转换
- 女人喜欢长得坏坏的男人,不是喜欢长坏了的男人。
- ActiveMQ单队列多用户收发的java例子
- NSInvocation
- 剑指offer面试题 求数组中出现次数超过一半的数字
- 自定义View--刮刮卡
- 据廖雪峰python3教程----python学习第十二天
- 深入理解struts2的namespace
- ssh密钥与git
- Centos 6.5 查看硬件信息
- Python lambda