多线程
张哲and哲哥
做一个徘徊在牛A和牛C之间的人
展开
-
并行定律
阿姆达尔定律一个程序(或者一个算法)可以按照是否可以被并行化分为下面两个部分: 可以被并行化的部分 不可以被并行化的部分假设一个程序处理磁盘上的文件。这个程序的一小部分用来扫描路径和在内存中创建文件目录。做完这些后,每个文件交个一个单独的线程去处理。扫描路径和创建文件目录的部分不可以被并行化,不过处理文件的过程可以。程序串行(非并行)执行的总时间我们记为T。时间T包括不可以被并行和可以转载 2017-05-31 23:16:18 · 572 阅读 · 0 评论 -
第2章 Java并发机制的底层实现原理
本地内存和现场安全问题缓存行:CPU不会直接与内存交互,而是通过总线将数据读到自己的一个缓存行中写缓存区:CPU不会和内存直接交互,会将要读取的数据更改之后先写入自己的写缓冲区,随后刷写缓冲区新到内存中本地内存:这是虚拟出来的概念,实际上并不存在,其襄括了缓存行、写缓冲区等概念线程安全问题:...原创 2019-07-06 11:57:07 · 164 阅读 · 0 评论 -
暂停线程
先看一下推荐的方法暂停线程。package thread;public class MyThread extends Thread { @Override public void run() { // super.run(); try { for (int i = 0; i < 500000; i++) { ...原创 2018-03-17 22:38:10 · 470 阅读 · 0 评论 -
暂停线程
先看一下推荐的方法暂停线程。package thread;public class MyThread extends Thread { @Override public void run() { // super.run(); try { for (int i = 0; i < 500000; i++) { ...原创 2018-03-17 22:38:04 · 284 阅读 · 0 评论 -
lock
synchronize和lock的区别用法不同,在同步对象中加入synchronize控制,synchronized既可以加在方法上也可以加在特定的代码上。lock需要指定开始和结束位置。synchronized是托管给jvm执行。lock的锁是通过特定的代码实现的,他比synchronize更精确的含有。性能不一样,在竞争不激烈的情况下synchronize比lock的性能更好。lock是一转载 2017-10-03 18:39:53 · 522 阅读 · 0 评论 -
线程锁
synchronize和lock的区别package cn.itcast.heima2;public class TraditionalThreadSynchronized { public static void main(String[] args) { new TraditionalThreadSynchronized().init(); } privat原创 2017-10-03 17:34:50 · 318 阅读 · 0 评论 -
线程之间的通信
线程的join用法class MyThread extends Thread{ @Override public void run() { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace();转载 2017-10-03 15:39:52 · 230 阅读 · 0 评论 -
Jdk中的Timer
Daemon(守护线程)的作用是为其他线程的运行提供服务,比如说GC线程。其实User Thread线程和Daemon Thread守护线程本质上来说去没啥区别的,唯一的区别之处就在虚拟机的离开:如果User Thread全部撤离,那么Daemon Thread也就没啥线程好服务的了,所以虚拟机也就退出了。import java.util.Timer;import java.util.TimerT转载 2017-10-03 11:21:17 · 291 阅读 · 0 评论 -
callable接口
callable接口和Runnable接口 相同点:两者都是接口,都可以编写多线程实现,两者都是调用Thread.start()启动。 不同点:实现Callable接口的任务线程能返回执行结果;而实现Runnable接口的任务线程不能返回结果; Callable接口的call()方法允许抛出异常;而Runnable接口的run()方法的异常只能在内部消化,不能继续上抛;Callable接口支持原创 2017-10-02 14:41:21 · 319 阅读 · 0 评论 -
多线程基础
进程和线程的区别? 进程:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程:进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.区别:进程和线程的主要原创 2017-10-01 20:31:56 · 277 阅读 · 0 评论 -
第四章并发编程基础
线程简介什么是线程进程:现代操作系统运行一个程序时,会为其创建一个进程。(进程可以认为是运行着的程序,活着的程序)。线程:现代操作系统的最新调度单位就是线程,线程也称为轻量级进程(Light Weight Process)。一个进程中可以包含多个线程,这些线程有自己的计数器、堆栈、和局部变量属性,并且能够访问共享的内存变量。为什么线程能够同时执行:处理器在不同的线程间高速切换,让使用者感...原创 2019-07-06 21:15:04 · 176 阅读 · 0 评论