函数所非常简单
只需要在函数定义的时候加上synchronized关键字就可以了
那么synchronized用的是什么锁呢
答:this锁,怎么知道他是this锁的呢
sell1用的是this锁
sell2用的是函数锁
当我们把sell1函数中的同步代码块的this锁换成lock锁就会发现
函数所非常简单
只需要在函数定义的时候加上synchronized关键字就可以了
那么synchronized用的是什么锁呢
答:this锁,怎么知道他是this锁的呢
sell1用的是this锁
sell2用的是函数锁
当我们把sell1函数中的同步代码块的this锁换成lock锁就会发现
上面代码使用了synchronized代码块进行数据的同步,使用synchronized的时候不要全部代码用synchronized代码块包裹,只要包裹可能会出现线程安全问题的地方就行了
锁:
比如上厕所锁了门,必须要等里面的认出来了其他人才能抢厕所
使用synchronized的条件:
首先什么是线程安全问题?
答:当多个线程同时修改做写操作的时候可能受到其他线程的干扰导致数据出现问题这种现象叫做线程安全问题
举个例子比如火车票自动售票机,原本有100张票分别有两个售票机进行判断票数是否大于0,如果票数大于0就把票出售给乘客,但当两个售票机同时读取这个变量的时候第一个判断大于0
pip install python-docx #安装docx
doc = Document() # 创建空白doc文档
head = doc.add_heading(“”, level=1) #添加标题 level是当前标题的索引
run = head.add_run(“Python操作模块
但是往往很多情况下我们需要几种类型配套使用,就比如说你用变量描述一个人,这个人不止有int属性
如身高,体重为浮点型,名字为字符串,年龄为int
这时候我们就需要定一个一个新类型
结构体实际上和数组也差不多
只不过是不同类型
比如说一个结构体中有两个int一个char类
事情是这样的我接了个单子就是写微信登陆和支付的
一开始我接单子的时候想之前都写过qq登录微信也应该差不多结果我错了首先遇到的坑有
sdk的配置他是把sdk放到了maven远程仓库然后直接compile但是我as抽风好了许久最终下载了官方的demo找到了jar直接copy到工程文件夹里了
我边写边
和上个文章一样也是接的单子开发文档也是很花里胡哨让人蛋疼折腾了一个下午终于搞定了
第一个坑:
回调不了
这里和上文章的登录回调有一点不同
也是要在wxapi包下名字必须是WXPayEntryActivity
配置清单的时候记得加上android:exported=”true”否则会导致无法启动回调的activ
微信提供了一个回调的接口只要把我们的后台接口传过去微信就会调用我们的回调接口。
传的是xml的所以我们php段不能再用$_POST来接受微信回调传过来的数据。。
应该改成如下
callback就是微信传过来的回调内容
我们需要把他转换成array数组方便读取,代码如下
微信
我们首先了解一下 Urllib 库,它是 Python 内置的 HTTP 请求库,也就是说我们不需要额外安装即可使用
发送简单的get请求
python2
import urllib2
response = urllib2.urlopen(‘http://www.baidu.com‘)
pyt