读书笔记——Java多线程编程核心技术
来源:互联网 发布:ssH访问境外服务器端口 编辑:程序博客网 时间:2024/05/16 14:18
在看这本书之前,我们要先明白一个问题。线程和进程之间的关系?
区别:线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。别把它和栈内存搞混,每个线程都拥有单独的栈内存用来存储本地数据。
- 查看jdk源码
发现这里Thread实现了Runnable接口,他们之间具有多态关系, - 好吧,本来是不打算写这么简单的东西了的,但是为了有小伙伴能参考一下也敲敲吧
- 查看jdk源码
public class Test { public static void main(String[] args) { try { MyThread myThread = new MyThread(); myThread.setName("myThread"); myThread.start(); for (int i = 0; i < 10; i++) { int time = (int) (Math.random() * 1000); Thread.sleep(time); System.out.println("main" + Thread.currentThread().getName()); } } catch (InterruptedException e) { e.printStackTrace(); } }}
public class MyThread extends Thread { @Override public void run() { try { for (int i = 0; i < 10; i++) { int time = (int) (Math.random() * 1000); Thread.sleep(time); System.out.println("run" + Thread.currentThread().getName()); } } catch (InterruptedException e) { e.printStackTrace(); } }}
要注意的是start()方式并不是代表线程启动的顺序
Thread.java类中的start()方法通知线程已经准备就绪,等待调用线程对象的run()方法
3. 查看代码段被哪个线程调用?
public class Run1 { public static void main(String[] args) { System.out.println(Thread.currentThread().getName()); }}
- 比较run和start
public class MyThreaad extends Thread { public MyThreaad(){ System.out.println("构造方法打印"+Thread.currentThread().getName()); } @Override public void run(){ System.out.println("run()方法打印的是"+Thread.currentThread().getName()); }}
public class Run2 { public static void main(String[] args) { MyThreaad myThreaad = new MyThreaad();// myThreaad.start(); start()方法是被Thread-0的线程调用了,run()方法是自动调用的 myThreaad.run(); }}
我太菜了,最后更新 2017年10月17日23:44:02 。。。。。 p33
阅读全文
0 0
- 读书笔记——Java多线程编程核心技术
- 《java多线程编程核心技术》读书笔记1
- 《java多线程编程核心技术》读书笔记2.1
- 《java 多线程编程核心技术》读书笔记一
- 《java 多线程编程核心技术》读书笔记二
- 《java 多线程编程核心技术》读书笔记三
- 《java 多线程编程核心技术》读书笔记四
- 《java 多线程编程核心技术》读书笔记五
- 《java 多线程编程核心技术》读书笔记六
- 多线程编程核心技术读书笔记(一):Java多线程技能
- java多线程 Java核心技术 读书笔记
- 《java多线程编程核心技术》读书笔记2.2:volatile关键词
- 《java多线程编程核心技术》读书笔记3:线程间的通信
- 《java多线程编程核心技术》读书笔记4:Lock的使用
- 《java多线程编程核心技术》读书笔记6:线程中的异常处理
- 《java 多线程编程核心技术》读书笔记三(补充内容)
- java多线程编程核心技术
- 《Java多线程编程核心技术》
- jdk安装的环境变量的设置(最实用最全)
- zw
- 线段树入门题
- spring cloud搭建微服务second-fiberhome(三):consul结合config以及bus实现配置文件通过RabbitMQ动态调用
- 《零基础学习Python》-summary
- 读书笔记——Java多线程编程核心技术
- SQLServer数据迁移到Mysql工具
- react之flux小结
- 用LSTM自动生成古诗
- 结构体定义 typedef struct 用法详解和用法小结
- Failure to find org.codehaus.plexus:plexus-archiver:jar:1.2 in...错误
- redis总结2-Redis六种数据类型命令总结(附命令实例)
- python学习笔记 part1
- Java8 LinkedList的底层实现