java线程总结(一)
来源:互联网 发布:python 读取word 编辑:程序博客网 时间:2024/05/18 04:00
这周有许多杂事干扰,导致自己没有提前做完作业,今后最好合理安排时间,不要任务压到最后;还有就是书要看起来,目前有太多的书挤压在身边,翻都没有翻过,做一个高效的人真不容易,此外还有学会和大家多沟通,
我想做个线程系列的总结,在写的过程中把概念弄懂,此外还能够应付一下java提高班的作业。 java的线程是个挺大的内容,网上对java的总结也都非常完善,不过别人的总不是自己的,看过就容易忘记,还有就是别人对线程,进程的讲解大多也仅限于java语言方面,而没有从一个更高的高度来讲解,我这边正好有一些资料,想着求精而不贪多的态度,写上一些给自己看看,而不要总是记流水账好了。
并发和并行:
并发程序是问题域中的概念--程序需要设计成能处理多个同时(或者几乎同时中)发生的事), 这些事是不同的事。
并行是方法域中的概念——通过将问题中的多个部分并行执行,来加速解决问题。
令一种等价的说法是:
并发是一同一时间应对多件事的能力; 并行是同一时间做多件事的能力。
举个例子:
web服务器响应众多的请求,把它认为是并发比较好,因为每个服务的业务逻辑一般不同,是处理不同的事情,即问题本身就是有许多,需要分别处理。
而客户端多线程下载文件可以认为是并行,因为多线程只是把一个文件分成了若干个部分,每个线程分别下载一段,再拼起来,这样做是为了加速问题的解决。
当然,我们无需对这2个概念做严格的区分,因为很多时候,他们本来就是混在一起的。
线程与锁
public class HelloWorld { public static void main(String[] args) throws InterruptedException { Thread myThread = new Thread() { public void run() { System.out.println("Hello from new thread"); } }; myThread.start(); Thread.yield(); System.out.println("Hello from main thread"); myThread.join(); }}
上面代码中的yield()的功能是主线程让步(当前线程想要让出对处理器的占用),不过即使主线程让步后,操作系统(还是虚拟机?)还是可能会执行同一个线程,因此输出的结果可能是:
Hello from main threadHello from new thread也可能是
Hello from main threadHello from new thread
参考文献
《七周七并发》
- Java线程总结(一)
- java线程总结(一)
- Java并发总结(一):线程基础
- Java并发总结(一):线程基础
- java线程安全总结(一)
- java线程安全总结(一)
- java线程安全总结(一)
- 黑马程序员--java线程总结(一)
- java线程安全总结(一)
- Java线程安全总结(一)
- java线程学习总结(一)
- java线程安全总结 (一)
- java线程安全总结(一)
- 线程总结(一)
- 线程总结(一)
- 【Java之多线程(一)】java中的多线程总结
- Java并发总结(一): 线程的介绍及创建
- 进程与线程(Java多线程总结一)
- 3月13日,hobby(前几日综合),每日20行。
- CC1310空中升级笔记05 BIM适配工程处理
- struts2+Jquery+ajax实现前后端数据交互
- 下拉列表选择项的js验证
- java自学日记 day 07
- java线程总结(一)
- 区间覆盖问题
- windows定时备份mysql
- Leetcode练习 500. Keyboard Row
- 设计模式----原型模式(C++实现)
- 深入浅出搜索架构(下篇)
- Javascript内存分配
- 多项式求值的几个简单算法(C语言)
- 面向对象的三大特性