Thread学习基础(一)

    技术2025-02-19  18

    文章目录

    实现多线程的两种方法:继承Thread,实现RunnableThread.sleep(int milisecond)Thread.join()Thread.yield(): 礼让线程synchronized同步代码块与synchronized关键字同步方法

    实现多线程的两种方法:继承Thread,实现Runnable
    class Thread1 extends Thread { @Override publci void run(){ sysout(getName() + ".....aaaaaaaa"); } } class MyRunnable implements Runnable { @Override public void run() { sysout(getName + "...bb"); } } public class Demo1 { public void main(String[] args) { //第一种方式 Thread1 thread1 = new Thread1(); thread1.start; //第二种方式(匿名内部类方式或者new MyRunnable()) new Thread(newe Runnable() { @Override public void run() { sysout(getName + "....bb") } }).start; } }
    Thread.sleep(int milisecond)

    线程休眠milisecond毫秒

    Thread.join()

    线程强制加入

    Thread t1 = new Thread(); t1.join;
    Thread.yield(): 礼让线程

    线程终止

    synchronized同步代码块与synchronized关键字同步方法
    synchronized(任意对象) { sysout("I"); sysout("love"); sysout("you"); } synchronized(同一对象) { sysout("我"); sysout("爱"); sysout("你"); }

    非静态的同步方法的锁对象:默认为this

    静态的同步方法的锁对象:该类的字节码对象

    public synchronized void test() { //这个方法默认的同步对象为this } public void test2() { synchronized(this) { //与上一个方法是同一个 同步对象 //所以这个这两个方法分别synchronized执行 } }
    Processed: 0.012, SQL: 9