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

电子商务网站的建设流程是怎样的ASP.NET与网站开发编程实战

电子商务网站的建设流程是怎样的,ASP.NET与网站开发编程实战,wordpress 商品价格,影楼网站服务为了并发的执行任务(程序),现代操作系统特地引入了“进程”的概念 分析: 1. 进程的地址空间是独立的,进程间通信的代价比较大 如果进程需要进行数据的交换,则需要用到进程间通信(pipe / fifo / shm / msg / .…

为了并发的执行任务(程序),现代操作系统特地引入了“进程”的概念

分析:
        1. 进程的地址空间是独立的,进程间通信的代价比较大
            如果进程需要进行数据的交换,则需要用到进程间通信(pipe / fifo / shm / msg / ...)
                         copy             copy
            p1进程 --------> 内核 --------> p2进程
        2. 创建一个进程的系统开销比较大,因为要拷贝整个父进程的地址空间("copy on write")


于是,有人就提出一个想法,能不能在同一个进程地址空间内部实现“任务(程序)”的并发执行呢?
====>线程

1. 线程的概念

1)线程是比进程更小的活动单位,它是进程中一个执行路径(执行分支),线程是依附于一个进程的
2)进程内部的所有线程共享进程的地址空间
        线程的特点:
                1. 创建一个线程比创建一个进程的开销要小得多
                    因为不要拷贝父进程的地址空间,线程不拥有系统资源,只有一点在运行中不可缺少的数据结构
                    进程是分配系统资源的最小单位

                2. 实现线程间通信十分方便,因为进程内部的所有线程共享进程的地址空间。线程之间的通信不需要调用内核
                3. 线程也是一个动态的概念(ready / running / blocking)
                    是进程内部的一个执行分支,线程是用来并发执行进程内部的指令的
                    C语言的指令必须在函数内部====>所有线程对应一个线程函数,线程的工作就是取指向指定的函数,如果指定的函数执行完了,线程也完了
                4. 一个进程里面默认有一个主线程(main函数),在进程的运行过程中,可以创建其他的子线程。主函数结束同样意味着进程结束(所有子线程都会强制退出)
                5. 进程是分配系统资源的最小单位,系统是按照线程来进行调度的(一个线程就是一个任务,需要分配CPU)

在进程内部创建多个线程,可以提高进程的CPU占有率

Thread的实现方式有很多种,比较常用的是POSIX标准的线程
线程所有的API函数都需要链接多线程库(libpthread.so)
        gcc test.c -o test -lpthread

2. linux下面线程(thread)函数的API

1)创建一个线程:pthread_create
        线程有一个线程ID(tid,thread id),类似于进程id(pid)
        用来唯一的标识一个线程的,在pthread中,使用类型 pthread_t 来描述一个线程ID
        typedef unsigned long pthread_t;
        线程属性(pthread_attr_t)
            线程的id
            线程的优先级
            线程的栈空间大小"stack"
            ....
            在pthread中,线程属性使用pthread_attr_t(结构体)来描述,同时还提供了几个用于改变线程属性的APi函数,但是不建议程序员直接修改pthread_attr_t的结构体,而是使用“线程默认属性”

线程是进程内部的一个指令的执行分支,多个线程,就是多个指令序列并发的执行。
        C语言的指令必须在函数内部,所有线程对应一个线程函数,一个线程创建成功后,要执行的指令序列全部都在一个指定的函数中“线程函数”,这个线程函数执行完毕了,线程的任务结束了。
        指定线程的执行函数???如何指定
        指定线程函数的地址,线程函数的地址作为参数传入创建线程的API,问题:
        张三的线程函数
            int func(int )
            {
            
            }
        李四的线程函数
            void *func(void)
            {
            }
            ....    
            
        线程函数的地址(函数指针)作为参数传入,函数指针也是有类型的,所以规定线程函数的地址类型必须为:
        void *(*start_routine) (void *)
        start_routine函数指针,保存一个函数的地址,指向一个函数,这个函数的类型应该是:
        void *func(void *)
        {
        
        }
        ====>
        所以线程函数都必须有一个void*的返回值,有一个void*的参数


文章转载自:

http://T0T3zKvq.xLztn.cn
http://J29wM8Xe.xLztn.cn
http://WCltoKNr.xLztn.cn
http://98Z7PZtV.xLztn.cn
http://DvaO7Kv8.xLztn.cn
http://jyQ1kd16.xLztn.cn
http://Y5L2U9xz.xLztn.cn
http://9UcvOAOk.xLztn.cn
http://MIiS77Ej.xLztn.cn
http://I7zGsVzY.xLztn.cn
http://3zuDNzWB.xLztn.cn
http://tYj5Hav0.xLztn.cn
http://dZPVKqTT.xLztn.cn
http://K8GofBHd.xLztn.cn
http://WyU6yEzD.xLztn.cn
http://I8LAH1ab.xLztn.cn
http://vzdwqGxG.xLztn.cn
http://nc4QxB4e.xLztn.cn
http://LtitcdlB.xLztn.cn
http://1JncVyxu.xLztn.cn
http://6tE6QKpJ.xLztn.cn
http://HLLo5odW.xLztn.cn
http://wRHiGyNr.xLztn.cn
http://xLpQjooR.xLztn.cn
http://Tq51tmGT.xLztn.cn
http://Nvq3JTzI.xLztn.cn
http://ZjJBJtUK.xLztn.cn
http://DIPjfK2A.xLztn.cn
http://H2Dc1lrd.xLztn.cn
http://lBVpfwxO.xLztn.cn
http://www.dtcms.com/wzjs/737859.html

相关文章:

  • 青岛西海岸新区城市建设局网站页面设计时最好只使用一种颜色避免视觉效果混响
  • 专业网站优化方案教师遭网课入侵直播录屏曝光口
  • 网站渠道建设180天做180个网站
  • 在国税网站怎么做实名大连手机自适应网站建设公司
  • 网站内部优化策略网站怎么自己做服务器
  • 湛江模板做网站域名建设网站
  • wordpress 4.3.4下载网站优化流程
  • 嘉兴做网站的公司免费网络连接软件
  • 项目宣传网站模板wordpress 去除 栏头
  • 做网站设计师的原因快速网站建设费用
  • 开源网站开发文档下载seo是什么职业岗位
  • 广西南宁官方网站企业网页生成器
  • 网站不被收录的原因网站备案信息是什么意思
  • 怎么自己做淘宝客网站免费最好网站建设
  • 企业网站开发有哪些做外单网站有哪些内容
  • 中国电信网站备案管理系统工程建设范围
  • 红酒网站制作江苏省建设档案网站
  • 网站怎么运营推广企业为什么要建立集团
  • 小游戏网站模板品牌手表网站
  • 怎么快速做网站广西城乡和住房建设厅网站首页
  • 网站开发需求表建设银行论坛网站
  • 出格做网站怎么样广州天河建网站的公司
  • 学点啥网站桂林微信网站
  • 广东移动网站网站赚取广告费
  • 江西省住房与城乡建设厅网站潍坊尚呈网站建设公司
  • 东莞专业网站建设推广seo服务合同
  • 免费建立个人网站凡科工商注册网站
  • 浙江大数据网站建设问答知识美容院网站源码
  • 做网站运营需要注意哪些问题使用织梦系统建设网站教程
  • 用DW给网站做后台泰安小程序开发公司