1.什么是线程
线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100 毫秒,那么用十个线程完成改任务只需 10 毫秒。Java在语言层面对多线程提供了很好的支持。
Thread类 和 Runnable接口

通过Thread创建一个类
package Thread;
class MyThread extends Thread{
//定义一个MyThread线程并继承Therad类
public void run(){
//在run();重写代码
System.out.println(getName()+“这是一个线程”);
}
}
public class Thread01 {
public static void main(String[] args) {
System.out.println(“线程1”);
MyThread mt = new MyThread();
mt.start();
//start();启动线程
System.out.println(“线程2”);
}
}
做个题玩玩????
B

为什么有了Thread后还有有Runnable呢?
1.因为Java不支持多继承(接口可以实现多个接口)
2.不打算重写Thread类的其他方法(继承就会继承它的所有方法)
用Runnable接口创建线程的主要工作如下
声明实现Runnable接口类
在实现类内实现run()方法
创建实现类对象
通过实现类对象创建线程类对象
调用start()方法启动线程
package Thread.com.test;
class PRunnable implements Runnable{
//先定义PRunnable实现类对象
@Override
public void run() {
//在实现类内实现run()方法
System.out.println(Thread.currentThread().getName()+“正在运行!”);
}
}
//创建实现类的对象
public class Test{
public static void main(String[] args) {
//通过实现类的对象创建线程类的对像
PRunnable pr = new PRunnable();
//然后(pr)创建线程
Thread t1 =new Thread(pr);
//然后通过Thread下的start启动
t1.start();
}
}
做个题玩玩???
package Thread.com.test;
class PRunnable1 implements Runnable{
@Override
public void run() {
for (int i = 1; i <=3 ; i++) {
if (Thread.currentThread().getName() == "A dog"){
System.out.println("Tread- "+0+Thread.currentThread().getName());
// 当线程类实现Runnable接口时,
// 如果想获取当前线程,只能用Thread.currentThread()方法。
}else {
System.out.println("Tread- "+1+Thread.currentThread().getName());
}
}
}
}
public class Test02 {
public static void main(String[] args) {
for (int i =1; i <=3 ; i++) {
System.out.println(Thread.currentThread().getName()+“Thread”);
}
PRunnable1 p2 = new PRunnable1();
new Thread(p2,"A dog").start();
new Thread(p2,"A cat").start();
}
}
别困惑世界的匆忙 没有方向就去学习