线程创建
多线程:理解多线程之前需要了解的几个概念
进程:系统中可以同时运行多个任务(应用程序),每一个任务就称为一个进程,有独立的内存空间。
线程:在一个进程中,可以同时运行多个任务,每一个任务称之为一个线程,它们共享同一块内存空间。
并发:多个线程或进程都是并发操作的。
多个线程看似是同时运行的,实际上是走走停停的,系统会将CPU划分成若干个时间片段,并将每一块时间片段尽可能均匀的分配给每一个线程,获取时间片段的线程被CPU执行,其它线程等待的这种现象被称为并发。
计算机中没有绝对的同时运行。
创建线程的两种方法:(下面有实例)
1.继承Tread,重写run方法,run方法中定义的内容为线程中要执行的任务代码。
2.使得线程与其运行的任务代码分离开
定义线程体(线程要执行的任务代码)
实现Runnable接口
/**
* 创建线程的第一种方式
* @author Administrator
*
*/
public class ThreadDemo {
public static void main(String[] args) {
Thread t1 = new Person1();
Thread t2 = new Person2();
/*
* 注意!启动线程不要调用run方法
* 而是要调用start方法。
* start的方法是将线程纳入线程调度。
* start方法调用完毕后,线程会很快
* 执行起来,并自动调用run方法。
*/
t1.start();
t2.start();
}
}
/**
* Thread类 线程类
* 其每一个实例表示一个可以并发运行的线程
* @author Administrator
*
*/
class Person1 extends Thread{
public void run(){
for(int i=0;i<1000;i++){
System.out.println("你是谁啊?");
}
}
}
class Person2 extends Thread{
public void run(){
for(int i=0;i<1000;i++){
System.out.println("我是修水管的");
}
}
}
/**
* 线程创建的第二种方式
* @author Administrator
*
*/
public class ThreadDemo2 {
public static void main(String[] args) {
/*
* 使用Runnable的作用是
* 线程与线程体 解耦
*/
Runnable r1 = new Person3();
Runnable r2 = new Person4();
Thread t1 = new Thread(r1);
Thread t2 = new Thread(r2);
t1.start();
t2.start();
}
}
class Person3 implements Runnable{
public void run() {
for(int i=0;i<1000;i++){
System.out.println("你是谁啊?");
}
}
}
class Person4 implements Runnable{
public void run() {
for(int i=0;i<1000;i++){
System.out.println("我是修电表的");
}
}
}
转载于:https://blog.51cto.com/4558285/1387740