Java多线程<1>
2015-06-07 09:33
429 查看
1、Java多线程的概念:
线程(Thread):是指一个任务从头到尾的执行流。线程提供了运行一个任务的机制。对于java而言,可以在一个程序中并发的启动多个线程,这些线程可以在多处理器上同时运行。
![](https://img-blog.csdn.net/20150607090653923)
2、创建任务和线程
任务就是对象,为了创建任务,必须为任务定义一个类,任务类必须实现Runnable接口。Runnable接口十分简单,如下:
接口里就只有一个run方法,需要这个方法告诉系统线程将如何运行。下面介绍如何开发任务类:
1、一旦定义了一个TaskClass,就可以用他的构造方法来创建一个任务,例如:
2、任务必须在线程中执行。
3、调用start()方法告诉JAVA虚拟机该线程准备运行
下面我就举一个简单的例子:
PrintChar.java
CMain.java
结果为:
A A A A A A A A A A
线程(Thread):是指一个任务从头到尾的执行流。线程提供了运行一个任务的机制。对于java而言,可以在一个程序中并发的启动多个线程,这些线程可以在多处理器上同时运行。
在单处理器系统中,多个线程共享CPU时间,而操作系统负责调度及分配资源给它们。当程序作为一个应用程序来运行时,JAVA解释器为main开启一个线程。当程序为Applet运行时,Web浏览器启动一个线程来运行applet。还可以在程序中创建附加的线程以执行并发任务。在JAVA中,每个任务都是Runnable的实例。
2、创建任务和线程
任务就是对象,为了创建任务,必须为任务定义一个类,任务类必须实现Runnable接口。Runnable接口十分简单,如下:
public abstract interface java.lang.Runnable { // Method descriptor #1 ()V public abstract void run(); }
接口里就只有一个run方法,需要这个方法告诉系统线程将如何运行。下面介绍如何开发任务类:
1、一旦定义了一个TaskClass,就可以用他的构造方法来创建一个任务,例如:
TaskClass task = new TaskClass(参数);
2、任务必须在线程中执行。
Thread thread = new Thread(task);
3、调用start()方法告诉JAVA虚拟机该线程准备运行
thread.start();
下面我就举一个简单的例子:
PrintChar.java
package com.guigu.zhangxx.main; public class PrintChar implements Runnable{ private char c; private int num; public PrintChar(char c,int num){ this.c = c; this.num = num; } public void run() { for(int i=0;i<num;i++){ System.out.print(c+" "); } } }
CMain.java
package com.guigu.zhangxx.main; public class CMain { public static void main(String[] args) { //创建任务 Runnable print1 = new PrintChar('A',10); //创建线程 Thread thread1 = new Thread(print1); //开启线程 thread1.start(); } }
结果为:
A A A A A A A A A A
相关文章推荐
- JAVA开发读取文件的方法
- Java创建Servlet找不到javax.servlet.*解决方案解决创建servlet 找不到webservlet包
- java生成随机数的两种方式
- java生成随机数的两种方式
- java中单例设计模式的两种实现方式
- Java 对象序列化和操作文件 正则表达式
- Java Web 第一篇 web应用和web.xml文件
- java多线程(一)基础概念
- java-IO流(下)
- Spring学习笔记 IOC原理实现
- Java学习--知识点1--static关键字
- Java使用反射来获取成员变量泛型信息
- eclipse快捷键
- Java面向对象小记(3)
- Struts2中的Action和ActionSupport
- 为eclipse离线安装hibernate tools插件
- Java排序算法
- spring4+websocket(兼容低版本ie)
- Maven搭建Spring Security3.2项目详解
- Maven搭建SpringMVC+Hibernate项目详解