7.1. Task Cancellation
An activity is cancellable if external code can move it to completion before its normal completion. There are a number of reasons why you might want to cancel an activity:
User-requested cancellation. The user clicked on t[......]
怎样正常结束ExecutorPool
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
public class Main {
static ExecutorService exec = Executors.newFixedThreadPool(5);
public static void main(St[......]
Java Concurrency in Practice 读书笔记 第六章
6.1 在线程中执行任务
在多线程开发中,要执行多线程任务,第一步是“找出任务边界”。
一个好的并发服务器是:大吞吐量,低响应时间。当系统过载的时候,只是性能降低而不会崩溃。
网络服务器为多线程提供了自然的任务边界:每一个客户端的请求。例如Web服务器、Mail服务器、文件服务器、EJB容器、数据库服务器都接受这种请求。各个客户端之间的请求应该是互补影响的。
单线程服务器
class SingleThreadWebServer {
public static v[......]
CentOS下配置ftp(vsftpd)
1、安装
yum install vsftpd
2、启动
/etc/init.d vsftpd start
3、配置
vim /etc/vsftpd/vsftpd.conf
更改为下列选项
#禁止匿名
anonymous_enable=NO
#可以写入
write_enable=YES
#Nginx多用户共享的需求
local_umask=002
#所有用户不能离开家目录
chroot_local_user=YES
#只允许userlist_file中列出的用户登录[......]
Java Concurrency in Practice 读书笔记 第五章
5.1 同步的Collections
JDK中,同步的Collections包含Vector和Hashtable,以及从1.2之后加入的Collections.synchronizedXXX 工厂构造函数生成的类。
这些类都内置了同步措施,确保任何时间只有一个线程能访问public方法。
然而这有一些例外:下标迭代、iteration迭代、foreach、next()、pre()等都是“快速失效的”,即有可能在你调用的过程中其他线程执行了修改,导致抛出异常。
因此,下面只是[......]