linux多线程学习(二)—线程的创建和退出
在前面的文章中提及到,一个进程中的多个线程是共享同一段资源的,由于线程对资源的竞争引出了锁。其中mutex是一种简单的加锁方法,这个互斥锁只有两种状态,那就是上锁和解锁,可以把互斥锁看作是某种意义上的全局变量。在某一时刻,只能有一个线程取得这个互斥上的锁,拥有上锁状态的线程可以对共享资源进行操作,而其他线程在该线程未解锁之前,够会被挂起,直到上锁的线程解开锁。可以这么说,互斥锁使得共享资源按序的在各个线程上操作。
互斥锁的操作主要包括互斥锁初始化、上锁、判断上锁、解锁、摧毁互斥锁。其中互斥锁可以分为快速互斥锁、递归互斥锁这检错互斥锁。这三种锁的区别主要在于其他未占有互斥锁的线程在希望得到互斥锁时是否需要等待挂起。快速锁是指调用线程会阻塞直到线程锁得到解锁为止。递归锁能够成功地返回并且增加调用线程在互斥上的加锁次数,比如一个链表在进行插入的操作时,可以进行查找的操作。检错锁则为快速互斥锁的非阻塞版本,它会立即返回并返回一个错误的信息。
1、函数简义。
(1)pthread_mutex_init
头文件: <pthread.h>
函数原型: int pthread_mutex_init (pthread_mutex_t* mutex,
const pthread_mutexattr_t* mutexattr);
函数传入值: mutex:互斥锁。
mutexattr:PTHREAD_MUTEX_INITIALIZER:创建快速互斥锁。
相关文档:
环境:
被攻陷的Linux主机(拿到root权限)-----模拟为我内网的一台Linux服务器 192.168.0.105
hack的操作用机-----我的电脑 192.168.1.101
反弹到公网的服务器-----我自己的公网服务器 61.160.2xx.xxx
渗透测试用的windows测试机 192.168.1.109
工具:
packetr-static Linux下的
htran.exe win ......
一、系统环境
操作系统:RHEL 4.7
Tomcat版本:5.5.26
二、下载安装文件:
http://dl.maptools.org/dl/libtiff/tiff-3.8.2.tar.gz
http://down1.chinaunix.net/distfiles/jpegsrc.v6b.t ......
一. 准备知识
1. ISO文件
我们普遍使用的ISO文件是指包含着整个CD-ROM(ISO-9660 文件系统)内容的
映象, 是整个碟片从0扇区到最后一个扇区的完整复制,经常被用来在网络上传输
对于ISO文件我们可以:
1)刻录到光盘
2)用WinRAR,MagicISO等软件在Windows下查看或释放它的内容
3)在Linux系统 ......
C++学习笔记--Linux下编程
一、关于Boost的使用,几种常用方法,只是自己工作、学习中总结的,有些方法的确有些繁琐,能满足需求,应该还有更加简单快捷的方式,待改进。
1、判断字符串与正则表达式是否匹配(完全匹配)
bool IsMatch(const char* data,const char * regx)
{
boost::regex express ......