准备开始写一些Linux 下网络编程以及多线程的blog,就从这个简单的echo程序开始吧。
在echo的服务端使用多线程与客户进行通信,可以实现一个服务端程序同时连接多个客户的功能。那么,到底在服务端要有多少个线程呢?
答案是:1+1+n。一个主线程,一个监听(listen)线程,与n个客...
分类:
编程语言 时间:
2014-05-07 13:55:04
阅读次数:
446
一、操作系统中线程和进程的概念现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。线程是指进程中的一个执行流程,一个进程中可以运行多个...
分类:
编程语言 时间:
2014-05-07 13:54:19
阅读次数:
326
Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入...
分类:
编程语言 时间:
2014-05-07 13:08:37
阅读次数:
312
signal.c 代码分析笔记
int sys_sgetmask()// 获取当前进程阻塞的信号
{
returncurrent->blocked;
}
int sys_ssetmask(int newmask) //设置当前进程阻塞信号,确保SIGKILL 和SIGSTOP不被阻塞
{
int old=current->...
分类:
系统相关 时间:
2014-05-07 12:25:12
阅读次数:
486
场景为,给到一个硬盘上文件或文件夹,(当然文件夹时,多线程的优势才能越发体现出来),得到该文件或文件夹的大小和计算该结果所需要的时间。
首先是单线程下的例子,这个可难不倒大家,代码如下:
01
public class TotalFileSizeSequential {
02
priv...
分类:
编程语言 时间:
2014-05-07 12:06:33
阅读次数:
613
首先给到需要获取和计算的股票,存入一个文本中,如stocks.txt
01
AAPL,2505
02
AMGN,3406
03
AMZN,9354
04
BAC,9839
05
BMY,5099
...
分类:
编程语言 时间:
2014-05-07 12:05:15
阅读次数:
432
接着上篇中没写完的(http://my.oschina.net/bluesroot/blog/223453),上篇中讲到很多,为完成对一个目录的扫描的频繁的IO操作,我们从单线程到多线程,从CountDownLatch到BlockingQueue,中间不免各种Callable和Future和ExecutorService等等,虽然纷繁,中间有些不免麻烦,但是最终仍紧紧贴着我们的需求和多线程操作这一...
分类:
编程语言 时间:
2014-05-07 11:24:35
阅读次数:
643
创建线程的第一种方式:继承Thread类。1,继承Thread类2,继承Thread类里的run方法,将线程的任务代码封装到run方法中。3,创建线程对象4,调用线程对象的start方法开启线程创建线程的第二种方式:实现Runnable接口。1,定义类实现Runnable接口。2,覆盖接口中的run...
分类:
编程语言 时间:
2014-05-07 10:51:36
阅读次数:
364
1、oracle内存由SGA+PGA所构成2、oracle数据库体系结构数据库的体系结构是指数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制。oracle工作原理:1)、在数据库服务器上启动Oracle实例;2)、应用程序在客户端的用户进程中运行,启用Oracle网络服务驱动器与服务...
分类:
数据库 时间:
2014-05-07 10:42:28
阅读次数:
541
Select、Poll与Epoll比较以下资料都是来自网上搜集整理。引用源详见文章末尾。1
Select、Poll与Epoll简介Selectselect本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1
单个进程可监视的fd数量被限制2 需要维护一个用来存放大...
分类:
其他好文 时间:
2014-05-07 10:39:13
阅读次数:
299