随笔分类 -  多线程

1
摘要:package threadmodle; import java.util.HashMap; import java.util.Map; import java.util.UUID; public class ThreadModle { public static void main(String[] args) throws InterruptedException { final ... 阅读全文
posted @ 2017-03-06 18:47 谭志宇 阅读(990) 评论(0) 推荐(0) 编辑
摘要:1。start(): 我们先来看看API中对于该方法的介绍: 使该线程开始执行;Java 虚拟机调用该线程的 run 方法。 结果是两个线程并发地运行;当前线程(从调用返回给 start 方法)和另一个线程(执行其 run 方法)。 多次启动一个线程是非法的。特别是当线程已经结束执行后,不能再重新启 阅读全文
posted @ 2017-03-06 18:21 谭志宇 阅读(276) 评论(0) 推荐(0) 编辑
摘要:public class MySingleton { // 使用volatile关键字保其可见性 volatile private static MySingleton instance = null; private MySingleton() { } public static MySingleton getInstance() { if (instance == null... 阅读全文
posted @ 2017-03-03 17:29 谭志宇 阅读(193) 评论(0) 推荐(0) 编辑
摘要:putIfAbsent 源代码 put源代码 前面一段都是一样的,都是先计算hash再同步取值,区别在于 结果为: null12 结果为: null11 阅读全文
posted @ 2017-03-02 11:28 谭志宇 阅读(17113) 评论(0) 推荐(2) 编辑
该文被密码保护。
posted @ 2017-02-21 16:13 谭志宇 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2017-02-04 10:57 谭志宇 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2017-02-04 10:55 谭志宇 阅读(1) 评论(0) 推荐(0) 编辑
摘要:通常称为嵌套类,当内部类是static时,意味着:1 要创建嵌套类的对象,并不需要其外围类的对象2不能从嵌套类的对象中访问非静态的外围类对象(不能够从静态内部类的对象中访问外部类的非静态成员)在创建静态内部类时不需要将静态内部类的实例绑定在外部类的实例上。普通非静态内部类的对象是依附在外部类对象之中... 阅读全文
posted @ 2014-10-08 12:45 谭志宇 阅读(312) 评论(0) 推荐(0) 编辑
摘要:synchronized 是java 内主要的同步标记1 同步非静态方法 作用域范围只是当前对象在不同线程间的同步, 如果n 为Test外的对象,在不同的Test对象之间,等于没有同步, 该方法只能同步n为Test类内对象 public class Test public synchroni... 阅读全文
posted @ 2014-10-08 08:31 谭志宇 阅读(323) 评论(0) 推荐(0) 编辑
摘要:半路出家学习java, 花了几分钟简单看了。在早上那个例子上稍微改了下,notify 对象上必须使用synchronized我的理解是在java synchronized只是个线程同步标志,但是不会堵塞线程,而wait会堵塞调用者线程,类windows的堵塞函数,而notify相当于解锁(个人把它当... 阅读全文
posted @ 2014-09-27 21:00 谭志宇 阅读(2697) 评论(0) 推荐(0) 编辑
摘要:import java.util.concurrent.CountDownLatch;public class CountDown { private static CountDownLatch connectedSignal = new CountDownLatch(50); static cla... 阅读全文
posted @ 2014-09-27 10:30 谭志宇 阅读(497) 评论(0) 推荐(0) 编辑
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--{*******************************************************}{}{}{}{版权所有(C)2010公司名}{防止程序多开}{}{**********... 阅读全文
posted @ 2010-06-06 10:16 谭志宇 阅读(369) 评论(0) 推荐(0) 编辑
摘要:思路很简单, 创建一事件,再创建一线程等待事件,再用OpenEvent根据事件名称打开,MSDN说明:Fast user switching is implemented using Terminal Services sessions. The first user to log on uses session 0, the next user to log on uses session 1,... 阅读全文
posted @ 2010-06-06 10:00 谭志宇 阅读(231) 评论(0) 推荐(0) 编辑
摘要:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--unittheadTest;interfaceusesWindows,Classes;typeMyThread=classprivateFHandle:THandle;FSuspended:Bool... 阅读全文
posted @ 2009-12-14 11:56 谭志宇 阅读(234) 评论(0) 推荐(0) 编辑
摘要:1 进程和线程的区别 进程: 进程是由两个部分构成的,一个是进程内核对象,另一个是地址空间 线程: 一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。 另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量2 标准 线程函数 DWORD WINAPI ThreadFunc(PVOID pvParam){ DWORD dwResult ... 阅读全文
posted @ 2009-12-14 10:43 谭志宇 阅读(239) 评论(0) 推荐(0) 编辑
摘要:TThread是一个抽象类,可以创建几个独立的线程。类关系 TObject在一个多线程的应用程序中创建一个TThread的后子类代表一个线程。每一新子类的TThread对象的实例是一个新的线程。从TThread派生的多线程实例可以构成Delphi的多线程应用程序。  当一个应用程序运行时,应用程序就被载入内存准备执行。此时,它成为包含一个或多个线程的进程,每个线程含有数据、代码和系统资源。线程执行... 阅读全文
posted @ 2009-11-10 00:27 谭志宇 阅读(5273) 评论(0) 推荐(0) 编辑
摘要:[代码] 阅读全文
posted @ 2009-11-10 00:25 谭志宇 阅读(257) 评论(0) 推荐(0) 编辑
摘要:[代码] 阅读全文
posted @ 2009-11-06 14:15 谭志宇 阅读(467) 评论(0) 推荐(0) 编辑
摘要:Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编程的全部,我写此文的目的在于对此作一个补充。 线程本质上是进程中一段并发运行的代码。一个进程至少有一个线程,即所谓的主线程。同时还可以有多个子线程。当一个... 阅读全文
posted @ 2009-10-04 09:44 谭志宇 阅读(5486) 评论(0) 推荐(0) 编辑
摘要:首先要明确,当线程处于Sleep(Suspended)状态下时,你需要唤醒(Resume),但是此时可能存在三种情况: 一、该线程对象不存在(Not Assigned),那么就需要明确是否需要再创建该线程对象,如果不需要,可能得抛出异常,给操作员或者主操作函数/过程一个异常(Exception); 二、该线程对象存在但是线程执行体已经结束执行,此时就需要进行CloseHandle(实际上使用TT... 阅读全文
posted @ 2009-09-13 13:25 谭志宇 阅读(1198) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示