线程
线程是轻量级的进程,而进程是程序关于数据的某项活动
在Java中创建线程有两种方式(Thread类、Runnable接口)
1.通过继承Java.long.Thread类实现线程
Thread中重要的方法:
1.run() 线程执行的任务
2.strart() 启动线程
3.sleep() 休眠,线程进入休眠状态,但是会自动再次启动
步骤:
1.派生子类extendsThread,重写run()
2.创建对象
3.调用start()
源代码:
class Mythread1 extends Thread {
public void run()
{
for(int i=0;i<=5;i++)
{
System.out.println("1线程"+i);
try {
sleep((long) (Math.random()*200));
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}
class Mythread2 extends Thread {
public void run()
{
for(int i=0;i<=5;i++)
{
System.out.println("2线程"+i);
try {
sleep((long) (Math.random()*500));
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}
public class XCThread类 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Mythread1 c1 = new Mythread1();
Mythread2 c2 = new Mythread2();
c1.start();//启动线程
c2.start();//
}
}
显示:
1线程0
2线程0
1线程1
1线程2
1线程3
1线程4
1线程5
2线程1
2线程2
2线程3
2线程4
2线程5
2.实现java.lang.Runnable接口
步骤:
1.实现接口Runnale,重写其中run()方法
2.创建Thread类,调用strart()方法启动线程
源代码:
class MyThread1 extends Thread implements Runnable {//继承是为使用sleep()方法
public void run() {
for(int i=0;i<=5;i++)
{
System.out.println("1线程"+i);
try {
sleep((long) (Math.random()*200));
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}
class MyThread2 extends Thread implements Runnable {
public void run() {
for(int i=0;i<=5;i++)
{
System.out.println("2线程"+i);
try {
sleep((long) (Math.random()*500));
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}
public class XCRunnable接口 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
MyThread1 c1 = new MyThread1();
MyThread2 c2 = new MyThread2();
Thread thread1 = new Thread(c1);
Thread thread2 = new Thread(c2);
thread1.start();
thread2.start();
}
}
显示:
1线程0
2线程0
1线程1
1线程2
1线程3
2线程1
1线程4
1线程5
2线程2
2线程3
2线程4
2线程5