avatar

目录
java-线程

创建线程

方法一

java
/*
自定义线程类
*/
public class MyThread extends Thread{
public MyThread(String name){
super(name);
}

重写run方法
@Override
public void run(){
for (int i=0;i<10;i++){
System.out.println(getName()+":正在执行!"+i);
} //重写run方法,完成该线程执行的逻辑
}
}
/*
测试类
*/
public class Demo{
public static void main(String[] args){
MyTread mt =new MyThread(“新线程”);
mt.start();
for(int i=0; i<10;i++){
System.out.println("main线程!"+i);
}
}
}

方法二

java
public calss MyRunnable implements Runnable{ 
@Override
public void run(){
for(int i=0;i<20;i++){
System.out.println(Thread.currentThread().getName()+""+i);
}
}
}
//implement 执行生效
实现
//测试类
public class Demo {
public static void main(String[] args) {
System.out.println("这是主线程");
Thread mt=new Thread("小强");
mt.start();
for (int i = 0; i < 10; i++) {
System.out.println("旺财"+i);
}
}
}

Thread和Runnable的区别

Runnable接口的优势
1,适合多个相同的程序代码的线程去共享同一个资源
2,可以避免java中的继承的局限性
3,增加程序的健壮性,实现解耦操作,代码可以被多个线程共享,代码和线程独立
4,线程池只能放入实现Runable或Callable类线程,不能直接放入继承Tread的类

线程同步

文章作者: 李恺
文章链接: http://likai-vip.github.io/2020/02/10/java-%E7%BA%BF%E7%A8%8B/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 likai
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论