随笔分类 -  并发编程

摘要:BlockingQueue,并发编程,阻塞队列 阅读全文
posted @ 2018-05-08 08:58 NeilZhang 阅读(1465) 评论(1) 推荐(2)
摘要:介绍ReentrantLock和Condition进行并发编程 阅读全文
posted @ 2018-05-04 20:13 NeilZhang 阅读(2070) 评论(0) 推荐(2)
摘要:Java 并发编程系列文章 Java 并发基础——线程安全性 Java 并发编程——Callable+Future+FutureTask java 并发编程——Thread 源码重新学习 java并发编程——通过ReentrantLock,Condition实现银行存取款 Java并发编程——Blo 阅读全文
posted @ 2018-04-26 21:31 NeilZhang 阅读(3099) 评论(0) 推荐(0)
摘要:Java 并发编程系列文章 Java 并发基础——线程安全性 Java 并发编程——Callable+Future+FutureTask java 并发编程——Thread 源码重新学习 java并发编程——通过ReentrantLock,Condition实现银行存取款 Java并发编程——Blo 阅读全文
posted @ 2018-04-17 21:14 NeilZhang 阅读(1748) 评论(0) 推荐(2)
摘要:Java 并发编程系列文章 Java 并发基础——线程安全性 Java 并发编程——Callable+Future+FutureTask java 并发编程——Thread 源码重新学习 java并发编程——通过ReentrantLock,Condition实现银行存取款 Java并发编程——Blo 阅读全文
posted @ 2018-04-14 11:06 NeilZhang 阅读(3400) 评论(0) 推荐(2)
摘要:一、Java并发基础 多线程的优点 资源利用率更好 程序设计在某些情况下更简单 程序响应更快 这一点可能对于做客户端开发的更加清楚,一般的UI操作都需要开启一个子线程去完成某个任务,否者会容易导致客户端卡死。例如一个网络请求,可以在回调接口中进行处理,而不是等待网络请求结束了再去做其它的UI操作(U 阅读全文
posted @ 2018-01-07 10:29 NeilZhang 阅读(322) 评论(0) 推荐(0)
摘要:实际业务使用场景: 某业务场景需要将本地数据传递到服务端,服务端再返回传递成功或者失败的信息。 1、 失败时: 重传5次 2、设置客户端请求的最小时间间隔,这个间隔内最多请求1次 具体逻辑如下:(这里请求的最小时间间隔设置为:80s,防止客户端由于某种异常频繁的调用服务端,造成服务端异常) 实现: 阅读全文
posted @ 2017-12-26 17:24 NeilZhang 阅读(4405) 评论(0) 推荐(0)
摘要:AsyncTask AsyncTask 是一种轻量级的异步任务类,可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程用于更新UI。 可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. 阅读全文
posted @ 2017-09-18 08:19 NeilZhang 阅读(1213) 评论(0) 推荐(0)
摘要:线程分类: User Thread(用户线程) Daemon Thread(守护线程) 定义: 守护线程--也称“服务线程”,在没有用户线程可服务时会自动离开。优先级: 守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务。设置: 通过setDaemon(true)来设置线程为“守护线程”; 阅读全文
posted @ 2017-06-27 22:13 NeilZhang 阅读(1925) 评论(0) 推荐(0)
摘要:Java中多线程: http://www.cnblogs.com/NeilZhang/p/6831636.html 开辟子线程,同时在子线程中发送消息,在主线程中处理消息。 另一种写法是:在MyThread中初始化handler0,增加 Looper.prepare() 和 Loop.loop(); 阅读全文
posted @ 2017-06-26 08:36 NeilZhang 阅读(355) 评论(0) 推荐(0)
摘要:线程基础概念 线程从创建到最终的消亡,要经历若干个状态。一般来说,线程包括以下这几个状态:创建(new)、就绪(runnable)、运行(running)、阻塞(blocked)、time waiting、waiting、消亡(dead)。 当需要新起一个线程来执行某个子任务时,就创建了一个线程。但 阅读全文
posted @ 2017-05-09 17:25 NeilZhang 阅读(308) 评论(0) 推荐(0)
摘要:一、调度概要 1、高级调度:(作业调度) 把外存上的处于后备队列中的作业调入内存,并且为它们创建进程分配资源。排在就绪队列上,准备执行。 分时系统、实时系统通常不需要 作业调度。 作业控制块 JCB(Job Control Block) 为了管理和调度作业,在多道批处理系统中为每个作业设置了一个作业 阅读全文
posted @ 2016-08-10 20:19 NeilZhang 阅读(633) 评论(0) 推荐(0)
摘要:1. 进程和线程 进程和线程是程序运行时状态,是动态变化的,进程和线程的管理操作(比如,创建,销毁等)都是有内核来实现的。 Linux中的进程于Windows相比是很轻量级的,而且不严格区分进程和线程,线程不过是一种特殊的进程。 所以下面只讨论进程,只有当线程与进程存在不一样的地方时才提一下线程。 阅读全文
posted @ 2016-06-22 10:53 NeilZhang 阅读(411) 评论(0) 推荐(0)
摘要:进程间通信方式: 同主机进程间数据交换机制: pipe(无名管道) / fifo(有名管道)/ message queue(消息队列)和共享内存。 必备基础: fork() 创建一个与之前完全一样的进程,这两个进程执行没有固定的先后顺序,哪个进程先执行要看系统的进程调度策略。 一个进程调用fork( 阅读全文
posted @ 2016-03-24 23:44 NeilZhang 阅读(1395) 评论(0) 推荐(1)