当前位置: 首页 > wzjs >正文

北京网站推广营销策划wordpress 调用标题

北京网站推广营销策划,wordpress 调用标题,ppt模板免费下载素材网站,福田专业做网站公司多线程在项目开发中使用频率高,使用多线程能够提高程序的并发性 提高程序的并发性:1.多线程,对系统资源的消耗更小一些 2.多进程 系统的cpu资源有线,cpu时间片被分好后,由系统进行调度,每个线程在执行的时候都需要抢这个cpu的时间片。如果抢到了,就执行,如果没抢到,…

多线程在项目开发中使用频率高,使用多线程能够提高程序的并发性

提高程序的并发性:1.多线程,对系统资源的消耗更小一些

                                2.多进程

系统的cpu资源有线,cpu时间片被分好后,由系统进行调度,每个线程在执行的时候都需要抢这个cpu的时间片。如果抢到了,就执行,如果没抢到,就处于一个就绪态,就绪态的线程没有cpu的使用权 ,抢到cpu的时间片后,就处于运行态

linux里的多线程

线程概述

线程是轻量级的进程(LWP:light weight process),在Linux环境下线程的本质仍是进程。在计算机上运行的程序是一组指令及指令参数的组合,指令按照既定的逻辑控制计算机运行。操作系统会以进程为单位,分配系统资源,可以这样理解,进程是资源分配的最小单位,线程是操作系统调度执行的最小单位。

先从概念上了解一下线程和进程之间的区别:

进程有自己独立的地址空间, 多个线程共用同一个地址空间

线程更加节省系统资源, 效率不仅可以保持的, 而且能够更高
在一个地址空间中多个线程独享: 每个线程都有属于自己的栈区, 寄存器(内核中管理的)
在一个地址空间中多个线程共享: 代码段, 堆区, 全局数据区, 打开的文件(文件描述符表)都是线程共享的
线程是程序的最小执行单位, 进程是操作系统中最小的资源分配单位

每个进程对应一个虚拟地址空间,一个进程只能抢一个CPU时间片
一个地址空间中可以划分出多个线程, 在有效的资源基础上, 能够抢更多的CPU时间片

在处理多任务程序的时候使用多线程比使用多进程要更有优势,但是线程并不是越多越好,如何控制线程的个数呢?

文件IO操作:文件IO对CPU是使用率不高, 因此可以分时复用CPU时间片, 线程的个数 = 2 * CPU核心数 (效率最高)

处理复杂的算法(主要是CPU进行运算, 压力大),线程的个数 = CPU的核心数 (效率最高)

2.创建线程
只要是线程都有唯一一个线程id,id类型为pthread_t

pthread_t pthread_self(void);    // 返回当前线程的线程ID

在一个进程中调用线程创建函数,就可得到一个子线程,和进程不同,需要给每一个创建出的线程指定一个处理函数,否则这个线程无法工作。

#include <pthread.h>
int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                   void *(*start_routine) (void *), void *arg);
// Compile and link with -pthread, 线程库的名字叫pthread, 全名: libpthread.so libptread.a

pthread_t *thread传出参数

const pthread_attr_t *attr,线程属性

void *(*start_routine) (void *)函数指针,做会调用的,指针所指向的函数,就是在子线程里要执行的任务

void *arg任务函数的参数

回调函数,是由线程去调用的,而不是由程序员去调用的,因此程序员只需要把回调函数的任务写出来

2.2 创建线程
下面是创建线程的示例代码,在创建过程中一定要保证编写的线程函数与规定的函数指针类

型一致:void *(*start_routine) (void *):

// pthread_create.c 
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <pthread.h>// 子线程的处理代码
void* working(void* arg)
{printf("我是子线程, 线程ID: %ld\n", pthread_self());for(int i=0; i<9; ++i){printf("child == i: = %d\n", i);}return NULL;
}int main()
{// 1. 创建一个子线程pthread_t tid;pthread_create(&tid, NULL, working, NULL);printf("子线程创建成功, 线程ID: %ld\n", tid);// 2. 子线程不会执行下边的代码, 主线程执行printf("我是主线程, 线程ID: %ld\n", pthread_self());for(int i=0; i<3; ++i){printf("i = %d\n", i);}// 休息, 休息一会儿...// sleep(1);return 0;
}

3. 线程退出
在编写多线程程序的时候,如果想要让线程退出,但是不会导致虚拟地址空


文章转载自:

http://jg33NxM4.LcptL.cn
http://2cQTXOT3.LcptL.cn
http://Q6BcojBH.LcptL.cn
http://HAGR0DfV.LcptL.cn
http://hHMbZLsT.LcptL.cn
http://O1ZYoKbN.LcptL.cn
http://2SVcIdH5.LcptL.cn
http://ph0iOHUW.LcptL.cn
http://a6HoF1Xv.LcptL.cn
http://Rb97GKHv.LcptL.cn
http://9VQzZtsy.LcptL.cn
http://hFbeDzXQ.LcptL.cn
http://e028dnfi.LcptL.cn
http://50lW7fMJ.LcptL.cn
http://xdQLjDd4.LcptL.cn
http://mLKOn5X9.LcptL.cn
http://c1O1Fi51.LcptL.cn
http://Ehb1afR1.LcptL.cn
http://XmZKHDWD.LcptL.cn
http://mYXFAor6.LcptL.cn
http://ZmqI65eB.LcptL.cn
http://CPNomMJt.LcptL.cn
http://eeignGWr.LcptL.cn
http://o9wv2JuM.LcptL.cn
http://VanJwMJ5.LcptL.cn
http://JVHRvQSU.LcptL.cn
http://mSRm5Idb.LcptL.cn
http://R2U9lb0E.LcptL.cn
http://Kin9PDaA.LcptL.cn
http://ZFZAiWjK.LcptL.cn
http://www.dtcms.com/wzjs/699355.html

相关文章:

  • 做企业网站一般要多少钱深圳个性化网站建设公司电话
  • 宝山做网站价格传媒公司招聘信息
  • 上海网站建设排名公司php可以做网站app吗
  • 一个人可以完成网站建设吗建设一个旅游平台网站需要多少资金
  • 建设英文商城网站广告设计公司图片
  • 淘客建站程序wordpress yousucai
  • 用wordpress建立学校网站吗深圳营销型网站建设方案服务商
  • 教育网站官网手机网站大全网址大全
  • 电子商务网站建设 概念詹凌峰建盏简介
  • 用dw做的网站怎么上传计算机专业毕业设计怎么做
  • 西安专业的网站优化南宁门户网站建设
  • 网站地图的制作php mysql网站开发项目式教程
  • 视频logo免费生成网站数字媒体ui设计是做什么的
  • 东南亚cod建站工具广告牌大全图片
  • 发卡网站建设方案易网拓营销型网站
  • 网站建设教程pdf百度云中国企业网中国商报
  • 网站建设认准猪八戒网泰州谁会建网站
  • 移动网站mip网龙网络公司排名
  • 免费的百度网站怎么做江苏企业网站制作哪家好
  • jsp做网站注册页面天津平台网站建设公司
  • 泉州住房和城乡建设部网站社保网站上怎么做减员
  • 简洁软件下载网站源码辽宁省建设工程招标投标协会网站
  • 济南h5网站建设哈尔滨建设局网站首页
  • 网站排名优化平台如何把网站推广出去
  • 宝坻网站建设公司建盏厂家联系电话
  • 美丽说网站模板泉州手机网站开发
  • 买了域名和空间怎么做网站wordpress crm主题
  • 郑州百度网站优化排名网站建设一般多少钱
  • 做设计素材网站有哪些seo北京优化
  • 开源网站建设实习心得建设文明网站包括哪些内容