摘要: Java 中有 4 种常见的创建线程的方式。 一、重写 Thread 类的 run() 方法。 表现形式有两种:1)new Thread 对象匿名重写 run() 方法 package constxiong.concurrency.a006; /** * new Thread 对象匿名重写 run( 阅读全文
posted @ 2019-10-15 20:47 ConstXiong 阅读(735) 评论(0) 推荐(0) 编辑
摘要: 进程: 程序执行时的一个实例 每个进程都有独立的内存地址空间 系统进行资源分配和调度的基本单位 进程里的堆,是一个进程中最大的一块内存,被进程中的所有线程共享的,进程创建时分配,主要存放 new 创建的对象实例 进程里的方法区,是用来存放进程中的代码片段的,是线程共享的 在多线程 OS 中,进程不是 阅读全文
posted @ 2019-10-15 20:40 ConstXiong 阅读(7470) 评论(0) 推荐(2) 编辑
摘要: 并行:指两个或两个以上事件或活动在同一时刻发生。如多个任务在多个 CPU 或 CPU 的多个核上同时执行,不存在 CPU 资源的竞争、等待行为。 并行与并发的区别 1、并行指多个事件在同一个时刻发生;并发指在某时刻只有一个事件在发生,某个时间段内由于 CPU 交替执行,可以发生多个事件。 2、并行没 阅读全文
posted @ 2019-10-15 20:33 ConstXiong 阅读(3885) 评论(0) 推荐(0) 编辑
摘要: 1、Java 中的线程对应是操作系统级别的线程,线程数量控制不好,频繁的创建、销毁线程和线程间的切换,比较消耗内存和时间。 2、容易带来线程安全问题。如线程的可见性、有序性、原子性问题,会导致程序出现的结果与预期结果不一致。 3、多线程容易造成死锁、活锁、线程饥饿等问题。此类问题往往只能通过手动停止 阅读全文
posted @ 2019-10-15 20:28 ConstXiong 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 1、"摩尔定律" 失效,硬件的单元计算能力提升受限;硬件上提高了 CPU 的核数和个数。并发编程可以提升 CPU 的计算能力的利用率。 2、提升程序的性能,如:响应时间、吞吐量、计算机资源使用率等。 3、并发程序可以更好地处理复杂业务,对复杂业务进行多任务拆分,简化任务调度,同步执行任务。 来一道刷 阅读全文
posted @ 2019-10-15 20:21 ConstXiong 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 并发: 在程序设计的角度,希望通过某些机制让计算机可以在一个时间段内,执行多个任务。 一个或多个物理 CPU 在多个程序之间多路复用,提高对计算机资源的利用率。 任务数多余 CPU 的核数,通过操作系统的任务调度算法,实现多个任务一起执行。 有多个线程在执行,计算机只有一个 CPU,不可能真正同时运 阅读全文
posted @ 2019-10-15 20:10 ConstXiong 阅读(572) 评论(0) 推荐(0) 编辑