收藏此站 联系我们 网站
当前位置:首页» 技术日志 » 【建站服务】河源做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式-域名申请

【建站服务】河源做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式-域名申请

作者: 风兰 . 阅读量: 3 . 发表时间:2022-09-21 02:33:44

网站建设
​

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


河源做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式

网站建设.png

  1. 不加锁时

    同样是上面实例的代码,注释以下两行代码:
    threadLock.acquire()threadLock.release()

    输出结果为:

    开始线程: Thread-1开始线程: Thread-2[Thu Nov 22 16:09:20 2018] Thread-1 修改第 12 个值,修改后值为:1[Thu Nov 22 16:09:21 2018] Thread-2 修改第 12 个值,修改后值为:2[Thu Nov 22 16:09:21 2018] Thread-1 修改第 11 个值,修改后值为:1[Thu Nov 22 16:09:22 2018] Thread-1 修改第 10 个值,修改后值为:1[Thu Nov 22 16:09:23 2018] Thread-1 修改第 9 个值,修改后值为:1[Thu Nov 22 16:09:23 2018] Thread-2 修改第 11 个值,修改后值为:2[Thu Nov 22 16:09:24 2018] Thread-1 修改第 8 个值,修改后值为:1[Thu Nov 22 16:09:25 2018] Thread-2 修改第 10 个值,修改后值为:2[Thu Nov 22 16:09:25 2018] Thread-1 修改第 7 个值,修改后值为:1[Thu Nov 22 16:09:26 2018] Thread-1 修改第 6 个值,修改后值为:1[Thu Nov 22 16:09:27 2018] Thread-2 修改第 9 个值,修改后值为:2[Thu Nov 22 16:09:27 2018] Thread-1 修改第 5 个值,修改后值为:1[Thu Nov 22 16:09:28 2018] Thread-1 修改第 4 个值,修改后值为:1[Thu Nov 22 16:09:29 2018] Thread-2 修改第 8 个值,修改后值为:2[Thu Nov 22 16:09:29 2018] Thread-1 修改第 3 个值,修改后值为:1[Thu Nov 22 16:09:30 2018] Thread-1 修改第 2 个值,修改后值为:1[Thu Nov 22 16:09:31 2018] Thread-2 修改第 7 个值,修改后值为:2[Thu Nov 22 16:09:31 2018] Thread-1 修改第 1 个值,修改后值为:1[Thu Nov 22 16:09:33 2018] Thread-2 修改第 6 个值,修改后值为:2[Thu Nov 22 16:09:35 2018] Thread-2 修改第 5 个值,修改后值为:2[Thu Nov 22 16:09:37 2018] Thread-2 修改第 4 个值,修改后值为:2[Thu Nov 22 16:09:39 2018] Thread-2 修改第 3 个值,修改后值为:2[Thu Nov 22 16:09:41 2018] Thread-2 修改第 2 个值,修改后值为:2[Thu Nov 22 16:09:43 2018] Thread-2 修改第 1 个值,修改后值为:2主进程结束!Thread-1 线程结束!Thread-2 线程结束!
    zhoushixiong

       zhoushixiong

      men***nyuan@outlook.com

    4年前 (2018-11-22)
  2.    qwx

      807***028@qq.com

    39

    以下代码可以直观展示加锁和不加锁时,线程运行的顺序。

    #!/usr/bin/python# -*- coding: UTF-8 -*-import threadingimport timeclass MyThread(threading .Thread ):
        def __init__(self,delay,name,count):
            threading .Thread .__init__(self)
            self .delay=delay        self.name=name        self.count=count    def run (self):
            print('starting'+ self.name )
            threadLock.acquire()
            # 获得锁,成功获得锁定后返回True
            # 可选的timeout参数不填时将一直阻塞直到获得锁定
            # 否则超时后将返回False 
            print_time(self.delay ,self.name ,self.count)
            # 释放锁
            threadLock.release()def print_time(delay,name,count):
        while count :
            time.sleep(delay )
            print("{}:{}".format(name, time.ctime(time.time())))
            count  -= 1threadLock=threading.Lock()#创建容器(列表)threads=[]# 创建新线程thread1=MyThread(1,'thread-1',3)thread2=MyThread(2,'thread-2',3)# 开启新线程thread1.start()thread2 .start()# 添加线程到线程容器(列表)threads .append(thread1 )threads .append(thread2 )# 等待所有线程完成for t in threads :
        t.join()print('Exiting Main Thrid')

    加锁时:

    startingthread-1startingthread-2thread-1:Fri Oct 25 00:44:39 2019thread-1:Fri Oct 25 00:44:40 2019thread-1:Fri Oct 25 00:44:41 2019thread-2:Fri Oct 25 00:44:43 2019thread-2:Fri Oct 25 00:44:45 2019thread-2:Fri Oct 25 00:44:47 2019Exiting Main Thrid

    不加锁时:

    startingthread-1startingthread-2thread-1:Fri Oct 25 00:48:56 2019thread-2:Fri Oct 25 00:48:57 2019thread-1:Fri Oct 25 00:48:57 2019thread-1:Fri Oct 25 00:48:58 2019thread-2:Fri Oct 25 00:48:59 2019thread-2:Fri Oct 25 00:49:01 2019Exiting Main Thrid


什么是 XML?

XML 指可扩展标记语言(eXtensible Markup Language)。 你可以通过本站学习 XML 教程

XML 被设计用来传输和存储数据。

XML 是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。

它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。


Python 对 XML 的解析

常见的 XML 编程接口有 DOM 和 SAX,这两种接口处理 XML 文件的方式不同,当然使用场合也不同。

Python 有三种方法解析 XML,SAX,DOM,以及 ElementTree:

1.SAX (simple API for XML )

Python 标准库包含 SAX 解析器,SAX 用事件驱动模型,通过在解析XML的过程中触发一个个的事件并调用用户定义的回调函数来处理XML文件。

2.DOM(Document Object Model)

将 XML 数据在内存中解析成一个树,通过对树的操作来操作XML。

3.ElementTree(元素树)

ElementTree就像一个轻量级的DOM,具有方便友好的API。代码可用性好,速度快,消耗内存少。

注:因DOM需要将XML数据映射到内存中的树,一是比较慢,二是比较耗内存,而SAX流式读取XML文件,比较快,占用内存少,但需要用户实现回调函数(handler)。

本章节使用到的 XML 实例文件 movies.xml 内容如下:

movies.xml

<collection shelf="New Arrivals"><movie title="Enemy Behind">   <type>War, Thriller</type>   <format>DVD</format>   <year>2003</year>   <rating>PG</rating>   <stars>10</stars>   <description>Talk about a US-Japan war</description></movie><movie title="Transformers">   <type>Anime, Science Fiction</type>   <format>DVD</format>   <year>1989</year>   <rating>R</rating>   <stars>8</stars>   <description>A schientific fiction</description></movie>   <movie title="Trigun">   <type>Anime, Action</type>   <format>DVD</format>   <episodes>4</episodes>   <rating>PG</rating>   <stars>10</stars>   <description>Vash the Stampede!</description></movie><movie title="Ishtar">   <type>Comedy</type>   <format>VHS</format>   <rating>PG</rating>   <stars>2</stars>   <description>Viewable boredom</description></movie></collection>

python使用SAX解析xml

SAX是一种基于事件驱动的 API。

利用SAX解析XML文档牵涉到两个部分: 解析器和事件处理器。

解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件。

而事件处理器则负责对事件作出响应,对传递的XML数据进行处理。

<psax适于处理下面的问题:< p="" style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "WenQuanYi Micro Hei", Arial, sans-serif; font-size: 12px; white-space: normal; background-color: rgb(255, 255, 255);">

  • 1、对大型文件进行处理;

  • 2、只需要文件的部分内容,或者只需从文件中得到特定信息。

  • 3、想建立自己的对象模型的时候。

在python中使用sax方式处理xml要先引入xml.sax中的parse函数,还有xml.sax.handler中的ContentHandler。

ContentHandler类方法介绍

characters(content)方法

调用时机:

从行开始,遇到标签之前,存在字符,content 的值为这些字符串。

从一个标签,遇到下一个标签之前, 存在字符,content 的值为这些字符串。

从一个标签,遇到行结束符之前,存在字符,content 的值为这些字符串。

标签可以是开始标签,也可以是结束标签。


河源做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式


上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设:上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务