1.Thread类,继承的方式得到线程子类,定死了结构方法, 2.Runnable接口,灵活,真正体现了多线程共享数据的模式。 3. ...
分类:
编程语言 时间:
2018-06-27 00:51:35
阅读次数:
187
Java:多线程基础(1) 实现多线程的两种方式 1.继承Thread类 【说明】 2.实现Runnable接口 3.启用线程 共享数据及线程安全 多个线程访问同一个变量的错误实例 使用synchronized关键字加锁 currentThread()方法 isAlive()方法 sleep()方法 ...
分类:
编程语言 时间:
2018-01-25 15:39:39
阅读次数:
184
<1>什么是线程 一个程序同时执行多个任务,每个任务称为一个线程(thread),它是线程控制的简称。可以同时运行一个以上线程的程序称为多线程程序(nultithreaded)。 <2>多进程与多线程有哪些区别 本质的区别在于每个进程拥有自己的一整套变量,而线程共享数据。共享变量使线程之间的通信比进 ...
分类:
编程语言 时间:
2017-11-21 10:48:05
阅读次数:
210
之前看了几篇ThreadLocal 的介绍 说了很多让人误解的东西 比如 ThreadLocal 是解决多线程共享数据的问题。。等等 参考文献:http://www.iteye.com/topic/103804 说的挺接地气 1.首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的, ...
分类:
编程语言 时间:
2017-09-06 15:50:06
阅读次数:
164
图解 Java 内存区域及内存溢出异常 在阅读 《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版) 》后,为了加深对 Java 内存区域的印象及理解,特意做成了思维导图。 名词解释 线程共享数据区域 直接内存 并不是虚拟机运行时数据区的一部分,也不是 Java 虚拟机规范中定义的内存区。N ...
分类:
编程语言 时间:
2017-07-22 18:11:10
阅读次数:
164
进程之间通讯用什么: 套接字、信号处理器、共享内存、信号量、文件。 线程之间通讯用什么: 线程的好处: 降低开发维护成本,提高程序性能,提高资源利用率和系统吞吐量。 线程带来的风险: 线程安全问题:永远不要发生糟糕的事情 线程的活跃性问题:某件正确的事情最终会发生。比如,死锁 饥饿 活锁(不明白) ...
分类:
其他好文 时间:
2017-07-07 20:16:32
阅读次数:
116
首先讨论一下一个简单直接的问题,为什么要学多线程? 那么原因很简单,会了多线程,你就能涨工资或者找到更好的工作啊!!! 开个玩笑。 好吧,其实不怎么好笑。 多线程能解决什么问题? 举个例子,现在有两个任务A,B在同时进行,A需要10s,B需要2s。没有多线程之前,通常的做法无非两种,先执行A再执行B ...
分类:
编程语言 时间:
2017-05-26 11:53:57
阅读次数:
228
进程:每个进程拥有自己的一整套变量 线程:共享数据 调用Thread.sleep不会创建一个新的线程,sleep是Thread类的静态方法,用于暂停当前线程。 定义线程建议通过Runnable接口,继承Thread无法继承其它的类。 线程的stop方法已经被弃用。请求线程终止,使用interrupt ...
分类:
编程语言 时间:
2017-05-19 17:50:12
阅读次数:
231
线程间的数据共享多个线程共享数据,A线程生产物品,产品数量增加,B线程使用,那么产品数量减少,B线程如何知道产品buf是否为空呢?A线程如何判断产品buf为满?1轮询机制线程每隔一定时间检查缓冲区,如果有产品就取出,这种机制需要控制好轮询间隔,查询太频繁会导致占用cpu..
分类:
编程语言 时间:
2017-03-13 00:17:46
阅读次数:
218
线程安全 我们这里讨论的线程安全,就限定于多个线程之间存在共享数据访问这个前提,因为如果一段代码根本不会与其他线程共享数据,那么从线程安全的角度来看,程序是串行执行还是多线程执行对它来说是完全没有区别的。 共享的数据 可以将Java语言中各种操作共享的数据分为以下5类:不可变、绝对线程安全、相对线程 ...
分类:
编程语言 时间:
2016-11-25 00:14:47
阅读次数:
294