多线程
多线程
TL。
认定的事就把它做到完
展开
-
多线程总结
三种方式: 继承Thread类 实现Runnable接口 扩展一种:实现Callable接口,这个得和线程池结合使用 同步代码: 有两种方式 同步代码块 同步方法 run()和start()的区别 start():是启动线程,并由JVM自动调用run()方法 run():封装了被线程执行的代码,直接调用仅仅是一个普通方法的调用 sleep()和wait()方法的区别 sleep():必须指定时间,...原创 2020-04-27 20:35:42 · 79 阅读 · 0 评论 -
线程池
线程池的好处:线程池里的每一个线程代码结束后,并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象来用 public static ExecutorService newFixedThreadPool(int nThreads)//创建线程池,指定线程池数量 public void shutdown()//结束线程池 Future<?> submit(Runnable v...原创 2020-04-22 19:10:24 · 83 阅读 · 0 评论 -
多线程组
ThreadGroup多线程组类 getThreadGroup返回此线程所属的线程组 public class ThreadGroupDemo { public static void main(String[] args) { // method1(); method2(); } private static void method2...原创 2020-04-11 20:59:07 · 93 阅读 · 0 评论 -
线程唤醒机制
Object类中提供了三个方法 wait()等待 notify() 唤醒单个线程 notifyAll() 唤醒所有线程 public class Student { String name; int age; boolean flag; } public class SetThread implements Runnable { private Stude...原创 2020-04-11 20:10:28 · 141 阅读 · 0 评论 -
Lock锁
Lock是个接口所以得用它的实现类ReentrantLock void lock() 加锁 void unlock() 释放锁 具体用法: public class SellTicket implements Runnable { private int ticket = 100; //加锁对象 Lock lock=new ReentrantLock(); ...原创 2020-04-05 19:03:50 · 65 阅读 · 0 评论 -
多线程-创建和同步
1.继承Thread类重写run方法 public class MyThread extends Thread{ @Override public void run() { for(int i=0;i<50;i++){ System.out.println(getName()+"-"+i); } } } ...原创 2020-04-05 18:31:32 · 93 阅读 · 0 评论 -
Thread_多线程简单使用
继承Thread重写Run方法 run()方法用来包含那些被线程执行的代码 run():仅仅是封装被线程执行的代码,直接调用是普通方法 start():首先启动了线程,然后再由jvm去调用该线程的run()方法。 建个MyThread类 public class MyThread extends Thread{ @Override public void run() { ...原创 2020-04-04 20:40:21 · 140 阅读 · 0 评论