摘要: 线程互斥是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。/** * 线程间的互斥 * @author MrRock * */public class TraditionalThreadSynchronized { public static void main(String[] args) { new TraditionalThreadSynchronized().init(); } void init(){ final Outputer out = new Outputer(); //线程1 new Th... 阅读全文
posted @ 2012-05-16 22:07 MrRock 阅读(882) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal详细介绍:http://www.cnblogs.com/ieage/archive/2012/05/16/2505426.htmlimport java.util.Random;/** * 通过单列模式将ThreadLocal屏蔽,这样每个线程的对象的数据都不会出产生重复 * 把数据封装成一个类,这样可以保存多个数据,每个数据用单列模式和ThreadLocal保证了对象在同一个线程共享不会产生混乱 * @author MrRock * */public class ThreadLocalByObject { public static void main(String[] 阅读全文
posted @ 2012-05-16 21:49 MrRock 阅读(391) 评论(0) 推荐(1) 编辑
摘要: 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。ThreadLocal类接口很简单,只有4个方法,我们先来了解一下: 1. void set(Object value) //设置当前线程的线程局部变量的值。 2. public Object get() //该方法返回当前线程所对应的线程局部变量。 3. public void remove() //将当前线程局部变量的值删除,目的是为了减少内存的占用,该方法是JDK 5.0新增的方法。需要指出的是,当线程结束后,对 阅读全文
posted @ 2012-05-16 21:26 MrRock 阅读(381) 评论(0) 推荐(0) 编辑
摘要: import java.util.HashMap;import java.util.Map;import java.util.Random;/** * 同一个线程(同一个Thread.currentThread())共享同一份数据,不同线程数据不同 * @author MrRock *运行结果 * Main--->Thread-0 data is : -90400073 threadA--->Thread-0 data is : -90400073 threadB--->Thread-0 data is : -90400073 Main--->Thread-1 data 阅读全文
posted @ 2012-05-16 20:19 MrRock 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 第一种,用Thread子类创建Thread thread = new Thread(){ @Override public void run() { while(true){ try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); ... 阅读全文
posted @ 2012-05-16 18:20 MrRock 阅读(1109) 评论(0) 推荐(0) 编辑
摘要: Thread.sleep(n); 作用是让当前线程睡眠n毫秒,以便执行其他线程,如果没有其他线程,那睡眠n毫秒后,继续执行。 如果n=0,Sleep(0)是指CPU交出当前线程的执行权,让CPU去执行其他线程。也就是放弃当前线程的时间片,转而执行其他线程。一般来说以下情况应该使用sleep(0)1.当前线程比较耗时比较占CPU资源,可以在结尾处加上Sleep(0), 这样效率会得到大大的提高。2.线程池工作时,主线程使用Sleep(0)来等待线程池里所有的线程都完成运行。当线程池线程非常多的时候,这种方法确实是一种非常有效的节省cpu的方式,因为它节省了在线程里使用内核来进行同步的开销。 阅读全文
posted @ 2012-05-16 18:15 MrRock 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 如果你也想往自己的博客里,网页里加入音乐播放器,只要复制下面的网页音乐播放器代码,做适当的修改就可以啦!有很多播放器可以选择,不要挑花眼哦!中true或1表示自动播放,false或0表示手动播放loop="true" 中的true或1表示重复播放,false或0表示只播放一次 width= height= 中的数字分别表示播放器的宽度和高度 =0表示隐藏播放器EnableContextMenu="0" 禁右键 ShowStatusBar="1" (带显示文件播放信息)1隐藏播放器(不循环)代码:<EMBED src=音乐网址 h 阅读全文
posted @ 2011-11-03 14:26 MrRock 阅读(2381) 评论(0) 推荐(0) 编辑
摘要: 加入收藏夹,设为首页代码把以下代码<Body>相应位置<a target=_top href="/blog/"('http://www.QQlu.com/;,'天涯学习博客')>加入收藏</a><a href='#' onClick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.lqgt.cn');">设为首页</a>鼠标 阅读全文
posted @ 2011-11-03 14:25 MrRock 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 官方网站:ckeditor:http://ckeditor.com/ckfinder:http://ckfinder.com/CKEditor 3.2 在 asp.net 下进行配置的方法:1、CKEditor 不具备上传功能,需要集成 CKFinder 才能实现上传功能。 下载 ckeditor 并解压到 ckeditor(在根目录下); 下载 ckfinder 并解压到 ckfinder (在根目录下); 两者处于同级目录下; 把ckfinder目录里的bin下的CKFinder.dll拷贝到网站目录bin下,引用就行了。2、在 aspx 页面或者 master 模板页... 阅读全文
posted @ 2011-11-03 14:24 MrRock 阅读(226) 评论(0) 推荐(0) 编辑
摘要: MSMQ百科名片Message Queue(微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任一位置。它的实现原理是:消息的发送者把自己想要发送的信息放入一个容器中(我们称之为Message),然后把它保存至一个系统公用空间的消息队列(Message Queue)中;本地或者是异地的消息接收程序再从该队列中取出发给它的消息进行处理。实质 在消息传递机制中,有两个比较重要的概念。一个是消息,一个是队列。消息是由通信的双方所需要传递的信息,它可以是各式各样的媒体,如文本、声音、图象等等。消息最终的理解方式,为. 阅读全文
posted @ 2011-11-03 14:16 MrRock 阅读(245) 评论(0) 推荐(0) 编辑