系统编程
菠萝菠萝菠萝葡萄
这个作者很懒,什么都没留下…
展开
-
c++创建线程的6种方法
// C++_THREAD.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include <thread>#include <windows.h>using namespace std;#define DEBUG#ifdef DEBUGvoid print(){ Sleep(5000); cout << "子线程运行。。。" << endl;原创 2021-04-08 17:58:12 · 20172 阅读 · 3 评论 -
互斥锁详解
实现多线程,进程的互斥只需要一把锁下述代码表明:互斥锁不能决定谁先执行(因为先打的world)//双线程同时输出会使用互斥锁#include<stdio.h>#include<pthread.h>#include<sys/types.h>#include<unistd.h>#include<stdlib.h>//定义一把互斥锁pthread_mutex_t mutex;void * my_printf(void* arg).原创 2021-03-14 09:24:30 · 1189 阅读 · 0 评论 -
比较线程与进程
项目ValueValue共享资源优劣进程进程是最小的系统资源分配单位-----代码段,文件描述符,内存映射-----线程线程是最小cpu调度基本单位线程依赖进程堆,全局变量更简单的通信,节省资源(多线程共享虚拟地址),合理利用cpu...原创 2021-03-02 22:00:00 · 81 阅读 · 0 评论 -
进程的同步机制有哪几种?
1.什么是同步?先说互斥,互斥:是指散布在不同任务之间的若干程序片断,当某个任务运行其中一个程序片段时,其它任务就不能运行它们之中的任一程序片段,只能等到该任务运行完这个程序片段后才可以运行。同步:是指散步在不同任务之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。综上,同步是更加严苛的互斥2.同步机制有哪几种?互斥锁: 1)在访问共享资源后临界区域前,对互斥锁进行加锁。 2)在访问完成后释放互斥锁导上的锁。 3)对互斥锁进行加锁后,任何其他原创 2021-02-24 17:33:06 · 3707 阅读 · 0 评论