Java——多线程总结
来源:互联网 发布:玄空排盘软件 编辑:程序博客网 时间:2024/06/08 05:31
/*class MyThread extends Thread{ public void run(){ try{ Thread.currentThread().sleep(3000); }catch(InterruptedException e){ } System.out.println("MyThread running"); }}public class ThreadTest{ public static void main(String[] args){ MyThread t = new MyThread(); t.run(); t.start(); System.out.println("Thread Test"); }}*//*MyThread t = new MyThread();创建了一个子线程,t.run();调用run()方法就是一个普通的方法调用执行Thread.currentThread().sleep(3000);因为当前线程是主线程,所以主线程睡3秒,睡够3秒打印"MyThread running",然后主线程启动子线程,一种可能是主线程仍然持有CPU,主线程打印"Thread Test",主线程结束,然后子线程得到CPU,子线程先睡3秒,然后打印"MyThread running",另一种可能是子线程立刻得到CPU,子线程先睡3秒,在子线程睡得时候主线程得到CPU,主线程打印"Thread Test",然后子线程睡够三秒,打印"MyThread running"*/class test{ public static void main(String[] args){ //使用匿名内部类创建线程 //创建了一个Thread类的子类对象 new Thread(){ public void run(){ } }.start(); //创建线程的第二种方式 new Thread(new Runnable()){ public void run(){ } } Runnable r = new Runnable(){ public void run(){ } }; new Thread(r).start(); }}/*1、生产者消费者:使用while()替代if,让线程被唤醒后先去判断标记使用notifyAll()来唤醒所有线程,防止出现死锁2、jdk1.5多线程的实现方式Lock: Lock lock = new ReentrantLock(); lock.lock(); 需要写在同步代码块中的代码 lock.unlock(); //唤醒对方的线程则创建两个Condition对象 Condition pro = lock.newCondition(); Condition con = lock.newCondition(); con.await(); con.signal(); con.signalAll();3、多生产多消费4、线程的停止5、守护线程 setDaemon(boolean)6、join()可以让线程优先持有CPU*/
阅读全文
2 0
- Java——多线程总结
- java总结篇—多线程
- Java多线程编程总结笔记——一多线程基础知识
- Java多线程编程总结笔记——一多线程基础知识
- Java多线程编程总结笔记——02多线程基础知识
- Java多线程学习总结(一)——多线程创建
- 【多线程】——java多线程编程核心读书总结
- 孙鑫java视频——多线程总结
- 孙鑫java视频——多线程总结
- java基础——多线程总结
- java多线程总结2——Lock
- java——多线程的总结,总结的挺好的
- java程序员面试——Java多线程总结
- java学习——Java多线程问题总结(三)
- 多线程——总结
- 黑马程序员——java复习总结——多线程
- 【多线程】java多线程知识点总结
- 黑马程序员-Java基础总结07——多线程
- 自写的第一个javascript组件滚动加载ScrollLoad开发过程
- 重启服务器图片不清除
- 【深度学习】CentOS 7 安装GPU版Tensorflow教程(二)
- Mysql基本常用命令整理
- 日语一级语法2
- Java——多线程总结
- 使用Hive来访问HBase
- VitualBox NAT网络设定方法
- 第一篇博文
- c语言中关于杨辉三角问题
- mimikatz 获取winhash
- java12
- 进程学习笔记(一)
- java面试题集锦(一)