【十】Java多线程
来源:互联网 发布:淘宝网下载到桌面 编辑:程序博客网 时间:2024/06/18 05:18
一、多线程实现的两种方式
1、继承Thread类实现多线程
2、实现Runnable接口方式实现多线程
如果自己的类已经extends另一个类,就无法直接extends Thread,此时,必须实现一个Runnable接口,如下:
- public class MyThread extends Thread {
- public void run() {
- System.out.println("MyThread.run()");
- }
- }
- MyThread myThread1 = new MyThread();
- MyThread myThread2 = new MyThread();
- myThread1.start();
- myThread2.start();
如果自己的类已经extends另一个类,就无法直接extends Thread,此时,必须实现一个Runnable接口,如下:
- public class MyThread extends OtherClass implements Runnable {
- public void run() {
- System.out.println("MyThread.run()");
- }
- }
- MyThread myThread = new MyThread();
- Thread thread = new Thread(myThread); //将自定义的thread类作为参数传入thread中
- thread.start();
3、两种方式对比
Runnable接口比继承Thread类所具有的优势:
1):适合多个相同的程序代码的线程去处理同一个资源
2):可以避免java中的单继承的限制
3):增加程序的健壮性,代码可以被多个线程共享,代码和数据独立
二、sleep与wait区别
sleep与wait最主要的区别在于,sleep与wait都可以使线程等待,但sleep不会释放资源而wait会释放资源。
还有就是,wait方法只能在同步块或者同步方法中执行。
阅读全文
0 0
- Java多线程(十)localthread
- Java基础<十>--------多线程
- java多线程十 Semaphore
- 【十】Java多线程
- (十)java多线程之CountDownLatch
- Java多线程开发十——杂七杂八
- Java基础第二十一天--多线程2
- 【Java多线程】之十:Timer and TimerTask
- JAVA基础笔记(十)多线程
- (二十)java多线程之ScheduledThreadPoolExecutor
- java多线程学习(十) happen before 原则
- 十、多线程
- java多线程与并发之java并发编程实践(十)
- java基础巩固训练营【第一轮】(十) 多线程
- java基础巩固训练营【第一轮】(十) 多线程 补充
- Java多线程(十)之ReentrantReadWriteLock深入分析
- Java笔记(十)——多线程设计
- 十、初学Java多线程:使用Synchronized块同步方法
- 一个数据包发送的旅程
- java面试题(下)
- spring boot学习一:intellij环境搭建
- Linux常用命令以及常遇问题总结
- python3教程
- 【十】Java多线程
- iOS:自定义图片/视频/音频采集播放,相册,图片编辑
- SSH面试题
- 系统32位指针变量为4字节系统16位指针变量2个字节
- java中的默认初始化--类和局部变量区别
- 77313758
- HDU 5965 扫雷(dp/状态压缩dp)
- Hibernate的面试题
- python实战游戏开发——开始游戏项目