线程_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 线程 >>列表
· 初探多线程之生产者和消费者发布时间:2015-02-03
1.使用阻塞队列(BlockQueue)控制线程通信概念:BlockQueue是Queue的子接口,BlockQueue中放入元素时,如果该队列满了,则线程被阻塞;当BlockQueue中取出元素时,如果该队列已空,则线程被阻塞。/***消费者类*@authorAdministrator**/publicclassConsumerextendsThread{privateBlockingQueue<String>bq;publicConsumer(BlockingQueue<... 查看全文
· java线程总结发布时间:2015-02-03
什么是线程?线程,是程序执行的最小单位。什么是进程?进程,系统进行资源分配和调度的基本单位。线程和进程的区别是什么?一个程序至少有一个进程,一个进程至少有一个线程,线程的划分尺度小于进程。实现线程的两种方法:(摘自百度百科)1、就是通过继承Thread类的方式时,线程类就无法继承其他的类来实现其他一些功能,实现接口的方式就没有这中限制;2.也是最重要的一点就是,通过实现Runnable接口的方式可以达到资源共享的效果。Java弹球线程实现[code="package线程;importjava... 查看全文
· C#中多线程的简单应用发布时间:2015-02-02
下面是C#中使用多线程的一个简单用法介绍:Threadthread=newThread(newThreadStart(ReadExportData));//创建分支线程thread.Start();//开始运行分支线程......//这里做主线程的工作thread.Join();//主线程阻塞,等待分支线程运行结束thread.Abort();//停止分支线程,释放资源等在主线程、分支线程中,修改全局变量(共享内存)时,需要加锁,具体代码如下:lock(name){//操作修改全局变量... 查看全文
· 线程池(C#)发布时间:2015-02-01
转自:http://blog.sina.com.cn/s/blog_494305f30100ryw7.html在这里你可以学到Microsoft研究CLR实现线程池的原理机制,从而更灵活的处理CLR在实际代码应中线程池的问题,下面我们来看看吧。CLR教程之线程池的产生当CLR初始化时,其线程池中不含有线程。当应用程序要创建线程来执行任务时,该应用程序应请求线程池线程来执行任务。线程池知道后将创建一个初始线程。该新线程经历的初始化和其他线程一样;但是任务完成后,该线程不会自行销毁。相反... 查看全文
· [iOS 多线程 & 网络发布时间:2015-01-25
A.搭建java服务器使用eclipse、tomcat和struts2框架搭建一个简单的服务器1.准备好合适版本的JDK、eclipseEE、tomcat、struts2框架包2.配置JDK和tomcat系统变量3.在eclipse中创建一个DynamicWebProject,勾选创建web.xml4.解压一个struts2中的app范例,参考其中的web.xml和struts.xml配置5.配置tomcat,注意配置正确的服务器的路径和发布路径,不要使用默认的eclipse中的路径6... 查看全文
目录一:基础二:自旋锁示例三:SpinLock四:继续SpinLock五:总结一:基础内核锁:基于内核对象构造的锁机制,就是通常说的内核构造模式。用户模式构造和内核模式构造优点:cpu利用最大化。它发现资源被锁住,请求就排队等候。线程切换到别处干活,直到接受到可用信号,线程再切回来继续处理请求。缺点:托管代码->用户模式代码->内核代码损耗、线程上下文切换损耗。在锁的时间比较短时,系统频繁忙于休眠、切换,是个很大的性能损耗。自旋锁:原子操作+自循环。通常说的用户构造模式。线程不休眠... 查看全文
· Java线程的5个使用技巧发布时间:2015-01-24
Java线程有哪些不太为人所知的技巧与用法?萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因。日常工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是一些有趣的用法。比如说线程。没错,就是线程。或者确切说是Thread这个类。当我们在构建高可扩展性系统的时候,通常会面临各种各样的并发编程的问题,不过我们现在所要讲的可能会略有不同。从本文中你将会看到线程提供的一些不太常用的方法及技术。不管你是初学者还是高级用户或者是Java专家... 查看全文
· Android多线程机制和Handler的使用发布时间:2015-01-24
参考教程:iMooc关于Handler,http://www.imooc.com/learn/267参考资料:Google提供Android文档CommunicatingwiththeUIThreadHandler的作用:Android开发中不允许UI主线程之外的线程更新,那么在主线程下建立Handler对象用于接收其他线程传来的数据(由Message携带)更新UI是Android提供的方法之一,另一个是我们熟知的更加轻量的AsyncTask类,这里不做展开... 查看全文
· 线程池 线程池的实现及原理发布时间:2015-01-21
线程池数据结构与线程构造方法由于已经看到了ThreadPoolExecutor的源码,因此很容易就看到了ThreadPoolExecutor线程池的数据结构。图1描述了这种数据结构。图1ThreadPoolExecutor数据结构其实,即使没有上述图形描述ThreadPoolExecutor的数据结构,我们根据线程池的要求也很能够猜测出其数据结构出来。线程池需要支持多个线程并发执行,因此有一个线程集合Collection<Thread>来执行线程任务;涉及任务的异步执行... 查看全文
线程同步的方法:同步的实现方面有两种,分别是synchronized,wait与notify反对使用stop(),是因为它不安全。我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到... 查看全文
· 线程池简介发布时间:2015-01-21
其实线程池是并发包里面很重要的一部分,在实际情况中也是使用很多的一个重要组件。下图描述的是线程池API的一部分。广义上的完整线程池可能还包括Thread/Runnable、Timer/TimerTask等部分。这里只介绍主要的和高级的API以及架构和原理。大多数并发应用程序是围绕执行任务(Task)进行管理的。所谓任务就是抽象、离散的工作单元(unitofwork)。把一个应用程序的工作(work)分离到任务中,可以简化程序的管理;这种分离还在不同事物间划分了自然的分界线... 查看全文
· 线程池 Executor 以及Executors发布时间:2015-01-21
Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具。真正的线程池接口是ExecutorService。下面这张图完整描述了线程池的类体系结构。首先Executor的execute方法只是执行一个Runnable的任务,当然了从某种角度上将最后的实现类也是在线程中启动此任务的。根据线程池的执行策略最后这个任务可能在新的线程中执行,或者线程池中的某个线程,甚至是调用者线程中执行(相当于直接运行Runnable的run方法)... 查看全文
· 线程池 Executor 生命周期发布时间:2015-01-21
我们知道线程是有多种执行状态的,同样管理线程的线程池也有多种状态。JVM会在所有线程(非后台daemon线程)全部终止后才退出,为了节省资源和有效释放资源关闭一个线程池就显得很重要。有时候无法正确的关闭线程池,将会阻止JVM的结束。线程池Executor是异步的执行任务,因此任何时刻不能够直接获取提交的任务的状态。这些任务有可能已经完成,也有可能正在执行或者还在排队等待执行。因此关闭线程池可能出现一下几种情况:平缓关闭:已经启动的任务全部执行完毕,同时不再接受新的任务立即关闭... 查看全文
· java-锁--多线程发布时间:2015-01-20
首先需要强调的一点是:所有锁(包括内置锁和高级锁)都是有性能消耗的,也就是说在高并发的情况下,由于锁机制带来的上下文切换、资源同步等消耗是非常可观的。在某些极端情况下,线程在锁上的消耗可能比线程本身的消耗还要多。所以如果可能的话,在任何情况下都尽量少用锁,如果不可避免那么采用非阻塞算法是一个不错的解决方案,但是却也不是绝对的。内部锁Java语言通过synchronized关键字来保证原子性。这是因为每一个Object都有一个隐含的锁,这个也称作监视器对象... 查看全文
本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-immutable-object。转载请注明作者:黄文海出处:http://viscent.iteye.com。多线程共享变量的情况下,为了保证数据一致性,往往需要对这些变量的访问进行加锁。而锁本身又会带来一些问题和开销。ImmutableObject模式使得我们可以在不使用锁的情况下,既保证共享变量访问的线程安全... 查看全文
首先给大家分享多线程下载核心类:1packagecom.example.urltest;23importjava.io.IOException;4importjava.io.InputStream;5importjava.io.RandomAccessFile;6importjava.net.HttpURLConnection;7importjava.net.MalformedURLException;8importjava.net.URL;9importjava.net.URLDecoder... 查看全文
在实际应用中,经常要让多个方法并行执行以节约运行时间,线程就是必不可少的了,而多线程的管理经常又是一件头疼的事情,比如方法并行执行异步的返回问题,方法并行执行的超时问题等等,因此这里分享一个简易的、轻量级的方法并行执行线程辅助类。线程管理辅助类的两个目标:1、多个线程方法并行执行,主线程等待,需要知道所有子线程执行完毕;2、异步执行方法需要设置超时时间,超时可以跳过该方法,主线程直接返回;3、轻量级,虽然微软提供了线程等待、超时等可用组件,如ManualResetEvent,但那是内核对象... 查看全文
· Java多线程操作List发布时间:2015-01-10
packagecom.hlss;importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;/***类描述:多线程处理List*@authorCalvinWu*/publicclassMultiThread{//用Collections.synchronizedList让list线程安全publicfinalstaticList<Long>list=Collections... 查看全文
介绍本章主要说下基于内核模式构造的线程同步方式,事件,信号量。目录一:理论二:WaitHandle三:AutoResetEvent四:ManualResetEvent五:总结一:理论我们晓得线程同步可分为,用户模式构造和内核模式构造。内核模式构造:是由windows系统本身使用,内核对象进行调度协助的。内核对象是系统地址空间中的一个内存块,由系统创建维护。内核对象为内核所拥有,而不为进程所拥有,所以不同进程可以访问同一个内核对象,如进程,线程,作业,事件,文件,信号量,互斥量等都是内核对象... 查看全文
· 详解iOS多线程 (转载)发布时间:2015-01-07
iPhone中的线程应用并不是无节制的,官方给出的资料显示iPhoneOS下的主线程的堆栈大小是1M,第二个线程开始都是512KB。并且该值不能通过编译器开关或线程API函数来更改。只有主线程有直接修改UI的能力。一、NSOperation和NSOperationQueue1、一个继承自NSOperation的操作类,该类的实现中必须有-(void)main方法的。2、使用NSOperation的最简单方法就是将其放入NSOperationQueue中。一旦一个操作被加入队列... 查看全文