摘要:今天被一个sock_fd的值的问题折磨了半天靠,干脆花了1个小时看了一下内核貌似效果不错,做个笔记pblog的缩进还挺麻烦的,不管它了可以直接找我要文件,如果看起来不爽的话/* 网络编程中要注意描述符的边界问题比如socket描述符等描述符等于0的情况也是正常的if (sock >= 0) //应该按照 sock >= 0的情况来判断 ...如果是if (sock > 0) ... //可能出现的问题是,tcp连接不能建立,包不能正确传送......
摘要:随着linux桌面应用的扩展,它的安全性越来越受到关注。和企业应用相比,桌面用户要求安全工具安装简单,具有友好的图形界面,易于管理。这里介绍一些工具让linux桌面应用更加安全。
from:赛迪网-开放系统世界安全的传输工具gftp
我们通常使用的网络传输程序ftp、pop3和telnet等在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,黑客利用嗅探器非常容易截获这些口令和数据。现在可以使用更加安全的ssh(secure shell......
Pthread 与 Linux
bricks with
gnu&linux
pthread 与 linux 【相关文章:
查看Linux系统字长】
===================== 【扩展阅读:
陪Yangyh买笔记本】
【扩展信息:
又多了几天复习时间】
pthread本来是一套用户级线程库, 但在linux上实现时,
却使用了内核级线程
来完成, 这样的好处是, 可以充分的提高程序的并发性,
线程也可以象以前一样调用
read这样的函数, 而不必担心会由于阻赛影响其它的线程的运行.
但这样一来, linux的
线程就不是标准的了.
下面结合linux上的实现来谈一谈pthread.
一 基本概念
---------
pthread是一套通用的线程库, 它广泛的被各种unix所支持,
是由posix提出
的. 因此, 它具有很好的客移植性. 在linux上,
由于它是通过内核级线程来实现的, 就
没有完全的实现它. 但从功能上来看, 它丝毫不逊色.
先看一下下面的例子:
/* ------ test.c ------- */
#include
void *pp(void *arg)
{
while (1) {
printf("%sn",
(char *)arg);
sleep(2);
}
return null;
}
main()
{
pthread_t pid;
pthread_create(&pid, null, pp, "hello
world");
while (1) {
printf("i am main
threadn");
sleep(1);
}
}
gcc test.c -lpthread
./a.out
i am main thread
hello world
i am main thread
hello world
............
在程序开始的时候, 系统创建了一个主线程, 又用pthread_create创建了一个新的
子线程, 这样, 两个线程同时运行, 向屏幕上打印东西.
一个线程实际上就是一个函数, 创建后, 立即被执行,
当函数返回时该线程也就结束了.
下面这个函数用于创建一个新的线程:
int pthread_create (pthread_t *thread,
pthread_attr_t * attr,
void * (*start_routine)(void *),
void * arg);
第一个参数是一个pthread_t型的指针用于保存线程id.
以后对该线程的操作都要用id来标示.
第二个参数是一个pthread_attr_t的指针用于说明要创建的线程的属性,
使用null, 表示
要使用缺省的属性.
第三个参数指明了线程的如口, 是一个只有一个(void *)参数的函数. ...
下一页 摘要:我们不采用系统自带的上述服务,在安装以前,先卸载系统自带的程序,用rpm –e name 来卸掉 软件来源: http://apache.linuxforum.net/dist/httpd/httpd-2.0.50.tar.gz http://cn.php.net/get/php-5.0.0.tar.gz/from/this/mirror http://dev.mysql.com/get/downloads/mysql-4.0/mysql-standard......