Java多线程学习
来源:互联网 发布:电脑编程有没有女孩 编辑:程序博客网 时间:2024/05/17 07:56
Java实现多线程主要有两种方式,直接继承自Thread类,或者实现Runnable接口,后者实现较为灵活。
继承自Thread的实现如下:
import java.util.*;class ThreadTest extends Thread{private String s;public ThreadTest(String s){this.s = s;}public void run() {Random random = new Random();while(true){int t = (int)(random.nextDouble()*10000);System.out.println("???"+s+" "+t);try{sleep(t);}catch(InterruptedException e){e.printStackTrace();}} }public static void main(String[] args) {new ThreadTest("1111").start();new ThreadTest("2222").start();new ThreadTest("3333").start();System.out.println("Hello World!");}}
实现Runnable接口的实现如下:
import java.util.*;class RunnableTest implements Runnable{private String s;public RunnableTest(String s){this.s = s;}public void run(){Random random = new Random();int n = 0;while(true){if(n++>10)break;int t = (int)(random.nextDouble()*10000);System.out.println("num = "+n+"; name="+s+"; sleeptime="+t);try{Thread.sleep(t);}catch(InterruptedException e){e.printStackTrace();}}}public static void main(String[] args) throws Exception{Thread t1 = new Thread(new RunnableTest("1111"));Thread t2 = new Thread(new RunnableTest("2222"));t1.start();t2.start();/*单纯从代码上看,如果线程被生成了,但还未被起动,调用它的join()方法是没有作用的。将直接继续向下执行,因此,join必须在start调用后调用*/t1.join();t2.join();System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");}}
0 0
- Java学习,多线程
- Java多线程学习笔记
- Java学习:多线程(1)
- java多线程学习总结
- java多线程学习
- java多线程学习总结
- java多线程学习
- java多线程学习
- Java多线程学习笔记
- [Java]多线程学习网站
- java多线程学习1
- Java学习笔记---多线程
- Java多线程举例学习
- Java多线程学习总结
- java多线程学习
- java基础学习--多线程
- java多线程学习总结
- java多线程学习
- 学习maven的使用,看到一篇很实用的入门教程 .
- 重写equals方法的同时为什么要重写hashcode方法
- 01背包问题-状态d[i][j],f[i][j],滚动数组--java实现
- ccd和cmos的区别
- Java虚拟机原理、内存分配和回收机制
- Java多线程学习
- H - Windmill Animation
- 经典SQL--求一年有多少天
- Java SSH框架学习(入门)
- iOS虚拟键盘上添加动态按钮
- 八码数问题
- 网络配置管理
- 字符串的存储方式以及静态存储区域、栈、堆
- 【字符串】Count and Say