python调用windows api锁定计算机示例
调用Windows API锁定计算机
本来想用Python32直接调用,可是没有发现Python32有Windows API LockWorkStation();
因此,就直接调用Windows DLL了
#!/usr/bin/env python
#-*- coding:cp936 -*-
"调用WindowAPI锁定计算机"
import ctypes;
dll = ctypes.WinDLL('user32.dll');
dll.LockWorkStation();
相关推荐
-
举例讲解Python中的死锁、可重入锁和互斥锁
一.死锁 简单来说,死锁是一个资源被多次调用,而多次调用方都未能释放该资源就会造成死锁,这里结合例子说明下两种常见的死锁情况. 1.迭代死锁 该情况是一个线程"迭代"请求同一个资源,直接就会造成死锁: import threading import time class MyThread(threading.Thread): def run(self): global num time.sleep(1) if mutex.acquire(1): num = num+1 msg = se
-
python避免死锁方法实例分析
本文实例讲述了python避免死锁方法.分享给大家供大家参考.具体分析如下: 当两个或者更多的线程在等待资源的时候就会产生死锁,两个线程相互等待. 在本文实例中 thread1 等待thread2释放block , thread2等待thtead1释放ablock, 避免死锁的原则: 1. 一定要以一个固定的顺序来取得锁,这个列子中,意味着首先要取得alock, 然后再去block 2. 一定要按照与取得锁相反的顺序释放锁,这里,应该先释放block,然后是alock import thre
-
简要讲解Python编程中线程的创建与锁的使用
创建线程 创建线程的两种方法: 1,直接调用threading.Thread来构造thread对象,Thread的参数如下: class threading.Thread(group=None, target=None, name=None, args=(), kwargs={}) group为None: target为线程将要执行的功能函数: name为线程的名字,也可以在对象构造后调用setName()来设定: args为tuple类型的参数,可以为多个,如果只有一个也的使用tuple的形
-
python多线程threading.Lock锁用法实例
本文实例讲述了python多线程threading.Lock锁的用法实例,分享给大家供大家参考.具体分析如下: python的锁可以独立提取出来 复制代码 代码如下: mutex = threading.Lock() #锁的使用 #创建锁 mutex = threading.Lock() #锁定 mutex.acquire([timeout]) #释放 mutex.release() 锁定方法acquire可以有一个超时时间的可选参数timeout.如果设定了timeout,则在超时后通过返回值
-
Python中多线程及程序锁浅析
Python中多线程使用到Threading模块.Threading模块中用到的主要的类是Thread,我们先来写一个简单的多线程代码: 复制代码 代码如下: # coding : uft-8 __author__ = 'Phtih0n' import threading class MyThread(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self):
-
python版本的读写锁操作方法
本文实例讲述了python版本的读写锁操作方法.分享给大家供大家参考,具体如下: 最近要用到读写锁的机制,但是python2.7的自带库里居然木有. 网上讲读写锁的例子众多,但是原理简单,代码明晰的却不多见, 索性自己写个. 读写锁一般用于多个读者,1个或多个写者同时访问某种资源的时候.多个读者之间是可以共享资源的,但是写者与读者之间,写者与写者之间是资源互斥的. 这也就是说同时可以有多个读者或一个写者处于工作状态. 细分下来,读写锁可以分为三类,读者优先,写者优先和公开策略. 第一种,读者优先
-
Python简单进程锁代码实例
先说说线程 在多线程中,为了保证共享资源的正确性,我们常常会用到线程同步技术. 将一些敏感操作变成原子操作,保证同一时刻多个线程中只有一个线程在执行这个原子操作. 我最常用的是互斥锁,也称独占锁.其次还有读写锁,信号量,条件变量等. 除此之外,我们在进程间通信时会用到信号,向某一个进程发送信号,该进程中设置信号处理函数,然后当该进程收到信号时,执行某些操作. 其实在线程中,也可以接受信号,利用这种机制,我们也可以用来实现线程同步.更多信息见 http://www.jb51.net/article
-
Python中死锁的形成示例及死锁情况的防止
死锁示例 搞多线程的经常会遇到死锁的问题,学习操作系统的时候会讲到死锁相关的东西,我们用Python直观的演示一下. 死锁的一个原因是互斥锁.假设银行系统中,用户a试图转账100块给用户b,与此同时用户b试图转账200块给用户a,则可能产生死锁. 2个线程互相等待对方的锁,互相占用着资源不释放. #coding=utf-8 import time import threading class Account: def __init__(self, _id, balance, lock): sel
-
python基于mysql实现的简单队列以及跨进程锁实例详解
通常在我们进行多进程应用开发的过程中,不可避免的会遇到多个进程访问同一个资源(临界资源)的状况,这时候必须通过加一个全局性的锁,来实现资源的同步访问(即:同一时间里只能有一个进程访问资源). 举个例子如下: 假设我们用mysql来实现一个任务队列,实现的过程如下: 1. 在Mysql中创建Job表,用于储存队列任务,如下: create table jobs( id auto_increment not null primary key, message text not null, job_s
-
举例讲解Python编程中对线程锁的使用
锁 python的内置数据结构比如列表和字典等是线程安全的,但是简单数据类型比如整数和浮点数则不是线程安全的,要这些简单数据类型的通过操作,就需要使用锁. #!/usr/bin/env python3 # coding=utf-8 import threading shared_resource_with_lock = 0 shared_resource_with_no_lock = 0 COUNT = 100000 shared_resource_lock = threading.Lock()
-
python基于windows平台锁定键盘输入的方法
本文实例讲述了python基于windows平台锁定键盘输入的方法.分享给大家供大家参考.具体分析如下: pywin32中没有BlockInput这个函数.VC++中有,发现这个方法就可以了. 该代码可阻断windows平台下的鼠标键盘输入,如下所示: # coding: UTF-8 import time from ctypes import * user32 = windll.LoadLibrary('user32.dll') user32.BlockInput(True); time.sl
-
python线程锁(thread)学习示例
复制代码 代码如下: # encoding: UTF-8import threadimport time # 一个用于在线程中执行的函数def func(): for i in range(5): print 'func' time.sleep(1) # 结束当前线程 # 这个方法与thread.exit_thread()等价 thread.exit() # 当func返回时,线程同样会结束 # 启动一个线程,线程立即开始运行# 这个方法与threa
随机推荐
- Docker使用的个人学习总结
- JS实现的简单表单验证功能完整实例
- 完美解决java读取大文件内存溢出的问题
- JS实现点击链接切换显示隐藏内容的方法
- PHP处理CSV表格文件的常用操作方法总结
- 几行代码轻松实现PHP文件打包下载zip
- Python构建XML树结构的方法示例
- JavaScript中的substr()方法使用详解
- JavaScript数组常用操作技巧汇总
- ES6扩展运算符用法实例分析
- javascript Excel操作知识点
- 微信小程序 基础知识css样式media标签
- SQLServer2005 的查询独占模拟
- 简单实现jQuery弹幕效果
- jQuery EasyUI Panel面板组件使用详解
- window.open的功能全解析
- 实例讲解C++编程中对设计模式中的原型模式的使用
- Java中常用的类型转换(推荐)
- 给大家分享几个常用的PHP函数
- Android Studio中导入JNI生成的.so库的实现方法