java中多线程的基本理解以及运行机制
来源:互联网 发布:使用u盘安装linux系统 编辑:程序博客网 时间:2024/06/06 15:01
所谓线程,就是一种简单的进程,多线程可以实现多个运行,这样就丰富我我们的功能。
线程有以下几个状态:
可运行状态,运行状态,阻塞状态,销毁状态。
运行线程一般有两种方式,一种是继承thread类重写run方法。第二种是写Runnable然后重写run方法实现线程。
下面是分别两类方法:
1:
package Test;public class dxcheng {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubCat1 cat1=new Cat1();//启动线程,启用run函数,进入可运行状态cat1.start();}}class Cat1 extends Thread{int times=0;public void run(){while(true){//休眠1000毫秒try {//进入阻塞状态Thread.sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("Hello"+times);times++;if(times==10){//退出线程break;}}}}2:
package Test;public class runnable {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubDogs dog1=new Dogs();Thread t=new Thread(dog1);t.start();}}class Dogs implements Runnable{int times=0;public void run(){while(true){try {Thread.sleep(1000);times++;} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("您好"+times);if(times==10){break;}}}}
最后就是实现多线程交替进行工作:
package Test;public class runnable {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubDogs dog1=new Dogs();Thread t=new Thread(dog1);Pig pig1=new Pig();Thread m=new Thread(pig1);t.start();m.start();}}class Dogs implements Runnable{int times=0;public void run(){while(true){try {Thread.sleep(1000);times++;} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("我是狗"+times);if(times==10){break;}}}}class Pig implements Runnable{int times=0;public void run(){while(true){try {Thread.sleep(1500);times++;} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("我是猪:"+times);if(times==10){break;}}}}
0 0
- java中多线程的基本理解以及运行机制
- Java多线程运行机制的基本原理
- Java多线程的基本概述以及创建
- 多线程的基本理解
- 基本多线程的理解
- java多线程理解 以及java实现的简单的死锁
- Java多线程中join方法的理解
- 关于java中多线程的一点理解
- Java多线程中join方法的理解
- Java多线程中join方法的理解
- Java多线程中join方法的理解
- java多线程中join方法的理解
- Java多线程中join方法的理解
- Java多线程中join方法的理解
- Java多线程中join方法的理解
- Java多线程中join方法的理解
- Java多线程中join方法的理解
- Java多线程中join方法的理解
- Median of Two Sorted Arrays - LeetCode 4
- 练习代码(三)复用类
- hdu 1385 Minimum Transport Cost (Floyd 路径输出)
- 脚本无阻塞加载
- 多行文本超出 JS省略号...
- java中多线程的基本理解以及运行机制
- 黑马程序员——java基础——GUI
- Jackson 使用遇到 Unrecognized field, not marked as ignorable
- 关于wikibook上的singleton的疑问
- Struts2不进action就跳到Input配置的页面
- iOS开发使用.ttf或.otf外部字体库
- 浙江大学PAT_甲级_1065. A+B and C (64bit) (20)
- 判断一个类名或者元素是否存在的思路
- nyoj 722 数独 【经典DFS】