using System; using System.Diagnostics; using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; namespace TestProj... ...
分类:
其他好文 时间:
2019-04-13 19:19:34
阅读次数:
127
步骤 1:定义一个类 继承Thread类。2:重写Thread类的run方法。3:直接创建Thread的子类对象创建线程。4:调用start方法开启线程并调用线程的任务run方法执行。 package TestException; public class test1 { public static ...
分类:
编程语言 时间:
2019-04-12 17:45:34
阅读次数:
142
学习ThreadLocal<T>,首先先从它的数据结构开始,ThreadLocal的内部类ThreadLocalMap 而ThreadLocalMap又存储在Thread中。 ThreadLocal中的几个重要方法,提供了重要的操作 get方法 这里通过getMap方法获取当前线程中的所有Threa ...
分类:
其他好文 时间:
2019-04-12 16:23:50
阅读次数:
142
1 使用线程的方式,继承thread类,重写run方法 重写之后,线程执行的就是我们自己的run方法,而在Thread类中的run方法就不会被执行 这是Thread类的run方法 在这个方法中判断target是否为null,不为null,才执行target的run方法 2 既传入了runnable对 ...
分类:
编程语言 时间:
2019-04-12 10:27:47
阅读次数:
271
静代理模式 真实角色 代理角色(自定义) 两个角色实现同一接口 实现方式:继承 VS 聚合(构造方法为真实对象赋值) 例:线程Thread 动态代理: 基于接口:jdk自带的动态代理 java.lang.reflect.Proxy类提供用于创建动态代理类和实例的静态方法 java.lang.refl ...
分类:
其他好文 时间:
2019-04-11 19:27:20
阅读次数:
132
实现线程间通讯的方式: 1、共享变量实现 1.1 利用基synchronized notify wait来实现 1.2 利用lock和condition实现 1.3 利用volatile 该关键字修饰的变量直接存储在main memory 不像其他线程的变量存储在local thread 1.4 利 ...
分类:
编程语言 时间:
2019-04-11 16:30:28
阅读次数:
143
```c++ include include include std::mutex coutMutex; int main(){ std::thread t([]{ std::cout lockGuard(coutMutex); std::cout lockGuard(coutMutex); std ...
分类:
其他好文 时间:
2019-04-11 16:21:20
阅读次数:
79
基础线程机制 Executor线程池框架 1.引入Executor的原因 (1)new Thread()的缺点 ? 每次new Thread() 耗费性能 ? 调用new Thread()创建的线程 缺乏管理 ,被称为野线程,而且可以 无限制的创建 ,之间 ...
分类:
编程语言 时间:
2019-04-11 11:57:01
阅读次数:
163
在之前我学习了java中的Thread 来实现多线程,今日我学习了ThreadGroup、Executor框架、ForkJoin框架。Executor 和ForkJoin都可以直接定义线程池,可以根据自己的需要自动增加线程多少,也可以自己设置固定的多少线程。 ForkJoin框架我大概认为的意思就是 ...
分类:
编程语言 时间:
2019-04-10 23:22:07
阅读次数:
188