摘要: 一、互斥对象基础 互斥对象其实就是锁,用来邦正共享资源操作的完整性,每个对象都对应与一个可称为“互斥锁”的标记。该标记用来保证在人一个时都只能有一个线程访问该对象,资源通常时内存、文件句柄等。线程访问某资源,需要先获得互斥量,对其加锁;加过锁的资源如果需要被其他线程访问,通过互斥量获取资源也被锁定, 阅读全文
posted @ 2020-11-18 22:06 叕叒双又 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 一、多线程竞争域 1、函数pthread_attr_setscope()和函数pthread_attr_getscope()用来设置和获取线程的作用域,作用域决定线程是在进程内还是在系统内竞争资源,linux下只能设置为:PTHREAD_SCOPE_SYSTEM 二、代码test7_6.c 1 // 阅读全文
posted @ 2020-11-18 22:02 叕叒双又 阅读(455) 评论(0) 推荐(1) 编辑
摘要: 线程除了运行完毕后正常退出外,还可以被撤销,使得线程中途退出并释放资源 一、线程取消函数pthread_cancel(): 1、输入参数:线程名称,函数向指定的线程发送终止信号 2、返回参数:发送成功 0, 否则为非 0 3、附加应用:pthread_join(),发送成功也无法保证线程就会终止,因 阅读全文
posted @ 2020-11-18 22:00 叕叒双又 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 一、线程分离属性 线程通常分为可合并和不可合并线程,前者不能被其他线程(包括主线程)收回资源并杀死,其资源在其终止后由系统释放;后者则可以被主线程杀死或进行资源回收,甚至是资源是被强制回收的,主线程可以全程监控线程的运行状态。 二、pthread_attr_setdetachstate函数,该函数可 阅读全文
posted @ 2020-11-18 21:58 叕叒双又 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 一、多线程: 系统中运行的程序都是一个进程,进程包含一到多个进程,进程执行时需要一定的资源。线程可以是一组指令的集合或特殊的程序段,可以在程序里独立执行,可将其理解为代码运行的上下文,可以将其当作轻量级的进程,主要实现单个程序里执行多个任务。由于进程的创建、切换、调度和销毁时窜在速度慢,内存和资源消 阅读全文
posted @ 2020-11-18 21:47 叕叒双又 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 一、linux下通过进程编号管理程序运行,主要通过fork函数实现多进程编程。通过该函数,实现系统调用创建一个与原来进程几乎完全相同的进程,两个进程几乎可以完成一模一样的事情,通过初始参数的不同,实现不同的功能。主要通过返回值的不同区分进行类型, 返回0表示是子进程,如果是非0,则是创建的进程的id 阅读全文
posted @ 2020-11-18 19:54 叕叒双又 阅读(384) 评论(0) 推荐(0) 编辑