同步与异步是关于指令执行顺序的。
阻塞非阻塞是关于线程与进程的。
两者本身并没有必然的关联系。

阻塞与非阻塞

阻塞是指调用线程或者进程被操作系统挂起。当进程进入阻塞状态,是不占用CPU资源的
非阻塞是指调用线程或者进程不会被操作系统挂起。

“阻塞IO”、“非阻塞IO”和“IO复用”、“消息驱动IO”、“异步IO”同属于是linux下五种IO模式
前四种都属于 同步IO,都会有一个阻塞的过程
这个在Richard Stevens的“UNIX® Network Programming Volume 1, Third Edition: The Sockets Networking ”,6.2节“I/O Models ”,中有定义

同步非阻塞

轮询(polling)方式

并发执行的操作是一个 goroutine,main 入口应用本身就是一个 goroutine.

goroutine的使用

goroutine 的基本用法十分简洁。

package main

import (
"fmt"
)

func test() {
for i := 0; i < 9; i++ {
fmt.Println("hello")
}
}

func main() {
go test()
}
阅读全文 »

删除文件

import (
"log"
"os"
)
func main() {
err := os.Remove("test.txt")
if err != nil {
log.Fatal(err)
}
}
阅读全文 »

golang中有2种方式同步程序,一种使用channel,另一种使用锁机制

channel

锁sync.WaitGroup

Telnet

Telnet协议是一种应用层协议,使用于互联网及局域网中,使用虚拟终端机的形式,提供双向、以文字字符串为主的交互功能。属于TCP/IP协议族的其中之一,是Internet远程登录服务的标准协议和主要方式,常用于网页服务器的远程控制,可供用户在本地主机运行远程主机上的工作。

Telnet在1969年开发出来,在 RFC 15 定义, RFC 854 定义了扩展。互联网工程任务组(IETF),在STD 8中,将其加以标准化,是最早形成的互联网协议之一。

原理

用户首先在电脑运行Telnet程序,连接至目的地服务器,然后输入账号和密码以验证身份。用户可以在本地主机输入命令,然后让已连接的远程主机运行,就像直接在对方的控制台上输入一样。

传统Telnet会话所传输的数据并未加密,账号和密码等敏感数据容易会被窃听,因此很多服务器都会封锁Telnet服务,改用更安全的SSH。

不规则动词(Irregular Verbs)

常规的动词过去式和过去分词形式是尾部加ed (d)

Base Verb Past Past Participle
learn learned learned
study studied studied
cook cooked cooked
solve solved solved
ask asked asked
watch watched watched
listen listened listened

非常规的动词虽然没有固定的规则,也有一些模式可以参考

Base Verb Past Past Participle
grow grew grown
know knew known
begin began begun
draw drew drawn
drive drove driven
fly flew flown
give gave given
speak spoke spoken
swim swam swum
go went gone
take took taken
find found found
spend spent spent
teach taught taught
pay paid paid
feel felt felt
buy bought bought
meet met met
have had had
feed fed fed
keep kept kept
cut cut cut
hit hit hit
set set set
shut shut shut
fit fit fit

练习

借助字典找出下列动词的过去式和过去分词形式

bring
drink
think
tell
eat
make
beat

答案

brought – brought
drank – drunk
thought – thought
told – told
ate – eaten
made – made
beat – beaten

  1. 使用项目向导建立工程
  2. 在uires.idx里面的IMG字段添加图片资源
  3. 在skin.xml里面定义skin的类型和资源
  4. 在dlg_main.xml里面布局控件和skin
  5. 响应按钮事件:
EVENT_MAP_BEGIN
...
EVENT_NAME_COMMAND(L"btn_msgbox",OnBtnMsgBox)
EVENT_MAP_END()

新建一个页面

新建xml布局文件,添加对应的图片,皮肤资源。

新建c++类,然后复制工程中的MainDlg.h 和 .cpp的内容。

载入皮肤

imgArrow = (SImageWnd*)FindChildByName(L"icon_refund");
ISkinObj *pSkin = GETSKIN(L"skin_refund", 100);
imgArrow->SetSkin(pSkin);

设置SLink字体颜色

SLink* link = (SLink*)FindChildByName(L"link_receipt");
SwndStyle &style = link->GetStyle();
style.SetTextColor(0, RGBA(0xc0, 0xc0, 0xc0, 0xff));
link->Invalidate();

设置属性

具体的属性需要查看相关控件的代码

SImageButton* imgArrow = (SImageButton*)FindChildByName(L"btn_zfb");
imgArrow->SetAttribute(L"skin", L"skin_zfbSelected");

创建模态窗口

动态从文件中创建。资源目录需要和app放在一起。

//由于资源中使用了相对路径,需要将当前路径指定到资源所在位置
SStringT strCurDir = SApplication::getSingleton().GetAppDir();
strCurDir += _T("\\filewnd");
SetCurrentDirectory(strCurDir);
if (GetFileAttributes(_T("dlg_password.xml")) == INVALID_FILE_ATTRIBUTES)
{
SMessageBox(m_hWnd, _T("没有找到资源文件!"), _T("错误"), MB_OK | MB_ICONSTOP);
return;
}
SHostDialog fileDlg(_T("file:test.xml"));
fileDlg.DoModal(m_hWnd);

动态从xml文件名中创建

调用

dlgModal mDlg(_T("layout:xml_passwordDlg"));
mDlg.DoModal(m_hWnd);

自定义类

class dlgModal : public SHostDialog
{
public:
dlgModal();
dlgModal(SStringT xmlName);
~dlgModal();
void OnOK();
void OnClose();

SStringT m_strMsg; //消息XML
int m_nRepeat; //重复次数

EVENT_MAP_BEGIN()
EVENT_ID_COMMAND(IDOK, OnOK)
EVENT_NAME_COMMAND(L"dlg_pwd_btnClose", OnClose)
EVENT_MAP_END()

};


#include "stdafx.h"
#include "dlgModal.h"


dlgModal::dlgModal() :SHostDialog(_T("layout:xml_passwordDlg"))
{
m_nRepeat = 1;
}


dlgModal::dlgModal(SStringT xmlName) :SHostDialog(xmlName)
{
m_nRepeat = 1;
}

dlgModal::~dlgModal()
{
}

void dlgModal::OnOK()
{
EndDialog(IDOK);
}

void dlgModal::OnClose()
{
EndDialog(IDOK);
}

异步事件

EVENT_NAME_HANDLER

《书虫》共6个级别,30本以上,从300词开始,3000词结束

阅读全文 »

SOUI是国人写的一个开源库,估计离收费也不远了。比较好用。只是文档匮乏,学习起来要花些时间。
DerictUI模式的界面库,通过XML配置文件完成界面布局,资源引入等操作。

[gitee](git clone https://gitee.com/setoutsoft/soui)

阅读全文 »

辰时 (7点至9点) 胃经,白露,秋分

足阳明胃经最旺。 所以,人在 7点吃早饭最容易消化。如果胃火过盛,嘴唇干,重则唇裂或生疮,可以在7点清胃火。胃寒者7点养胃健脾。

足阳明胃经是有关于消化系统非常重要的穴位。是从头部开始,经脖子、胸、腹、下肢以至足尖等,非常长的经脉。消化系统有障碍时,会出现疲劳、身体倦怠、缺乏元气等症状。皮肤没有光泽,显黑、黄。嘴唇容易破裂,有纵形皱纹,唇边容易溃烂。发声无力,发音模糊。精神不振,迟疑不决,闷闷不乐,经常苦恼,因此更加重消化系统的负担。有喜吃甜食的倾向。此外,对清淡的食物有偏好,不爱吃油腻的食物。若要长久保持同一姿势,则会坐立难安,无法镇定下来。因为胃经的异常,经常被原因不明的头痛所苦恼。出现前头部和眼睛的疼痛、鼻塞、喉咙痛、腹胀等症状。脚部觉得虚弱、麻痹。出现以上所述的症状,请刺激位于胃经上的穴位,症状就会有显著的改善。胃经是非常长的经脉,但主要的穴位有四十五个。

8b28c706.png

足三里穴

“三里”是指理上、理中、理下。胃处在肚腹的上部,胃胀、胃脘疼痛的时候就要”理上”,按足三里的时候要同时往上方使劲;腹部正中出现不适,就需要”理中”,只用往内按就行了;小腹在肚腹的下部,小腹上的病痛,得在按住足三里的同时往下方使劲,这叫”理下”。

3b4b1444.png

用足三里穴防病健身的方法简便易行,一是每天用大拇指或中指按压足三里穴一次,每次每穴按压5-10分钟,每分钟按压15-20次,注意:每次按压要使足三里穴有针刺一样的酸胀、发热的感觉。二是可用艾条做艾灸,每周艾灸足三里穴1-2次,每次灸15-20分钟,艾灸时应让艾条的温度稍高一点,使局部皮肤发红,艾条缓慢沿足三里穴上下移动,以不烧伤局部皮肤为度。以上两法只要使用其一,坚持2-3个月,就会使胃肠功能得到改善,使人精神焕发,精力充沛。

艾灸疗法:灸5-15壮,温灸10-30分钟。

去胃火

ed4df55e.png

人体三大去火穴位 常按除秋燥

  1. 太冲穴

太冲穴位于大足趾和第二个足趾之间的缝隙向上1.5厘米的凹陷处。由于它属于足厥阴肝经,因此按摩此穴对肝火旺盛带来的上火症状效果非常好。如果把手放在太冲穴上,稍用力就会感觉非常痛,说明肝火比较旺盛,那更要多按摩这个穴位。

按摩手法:在按摩太冲穴前,先用热水泡脚约10分钟,然后用大拇指从下向上推揉3分钟即可。

  1. 内庭穴

内庭穴是足阳明胃经的荥穴。荥穴可以说是热症、上火的克星。如果有口臭、便秘、咽喉肿痛、牙痛、腹胀、吐酸水等不适时,可以多按内庭穴。

按摩手法:内庭穴是在第二足趾和第三足趾之间的缝隙交叉处,每天早晚用大拇指点揉100次即可。

  1. 合谷穴

合谷穴最好找了,我们平常说的虎口就是。合谷穴属手阳明大肠经,并且中医讲“肺与大肠相表里”。如果你有牙疼、耳鸣、眼睛红肿、鼻出血、头痛、咽喉肿痛、便秘、发热、口干,或者脸上的青春痘一个接一个不停地往外冒,就可以按合谷穴来消消火。按摩手法:由于这个穴位按摩起来也比较方便,因此没有固定的次数,有空的时候按一按就可以了。

酉时 (17点至19点) 肾经,大雪,冬至

肾经最旺。 “肾藏生殖之精和五脏六腑之精。肾为先天之根。”经过申时的人体泻火排毒,肾在酉时进入贮藏精华的时辰。肾阳虚者酉时补肾阳最为有效。
足少阴肾经,

25fc0a04.png

涌泉穴

滋阴益肾,平肝熄风。
功效:经常按摩涌泉穴,可以使人肾精充足、耳聪目明、精神充沛、性功能强盛、腰膝壮实不软、行走有力。驱除寒冷之气。
最好的方法是艾灸。

太溪

滋阴益肾,壮阳强腰。
配肾俞、志室,有温肾壮阳的作用,主治遗精、阳痿,肾虚腰痛
配少泽治咽痛、齿痛;配飞扬治头痛目眩;

[定位]在足内侧,内踝后方,当内踝尖与跟腱之间的凹陷处。

086d75ed.png

[主治]头痛目眩,咽喉肿痛,齿痛,耳聋,耳鸣,咳嗽,气喘,胸痛咳血,消渴,月经不调,失眠,健忘,遗精,阳痿,小便频数,腰脊痛,下肢厥冷,内踝肿痛。
春秋天气干燥时可按揉的时间长一些,因为燥易伤阴,多揉一些时间,这样可以更好地防燥养阴;夏天的时候按揉的时间要短一些,夏季湿气较重,按揉时间长了,体内的阴气过重反而不利身体;冬季每天按揉5分钟左右就可以了。

戌时 (19点至21点) 心包经,立夏,小满

手厥阴心包经最旺。 “心包为心之外膜,附有脉络,气血通行之道。邪不能容,容之心伤。”心包是心的保护组织,又是气血通道。心包戌时兴旺可清除心脏周围外邪,使心脏处于完好状态。心发冷者戌时补肾阳;心闷热者戌时滋心阴。

此时是养心的好时间,按摩心包经,最好的运动是散步。

劳宫穴:很重要,自然握拳,中指停留的地方就是。劳宫穴是人体气机最敏感的穴位,补养心脏最快。

内关穴:在手掌腕关节下方,指宽的两条筋中间,左右手各一。内关穴有“宁心安神,理气止痛,和胃降逆”的作用。每天花两分钟左右的时间按摩,力量不要太大,有酸胀感即可。
可以治疗晕车,晕船。可以用硬币在两条筋中间来回滚动按摩。
心,胸,胃部不适,也是治疗黄疸的特效穴位之一。

0a25568e.png 45e853bb.png

脾腧穴:
健脾利湿,和胃益气。脾俞主管胰腺,与胰岛素的分泌有关。如果时常感到口渴、全身无力、容易疲劳、食欲不振等情况时,可以按摩本穴加以缓解。此外,脾俞有健脾和胃之效,对于脾胃虚弱、消化不良、十二指肠溃疡、腹胀、黄疸、呕吐、腹泻等脾胃不适造成的症状也有不错的疗效

1f0a4e91.png 脾俞是十一腰椎棘突下,旁开1.5寸,肚脐对应的是第二腰椎,向上再摸三个椎体,下面旁开两指,不用太准,大概就行了。

灸法:悬灸法:患者全身放松,坐位或卧位。艾条点燃后放于穴位上方,距离皮肤约2~3厘米左右进行熏灸,一般每次灸10~15分钟,两侧交替进行,以局部潮红为度。每周灸治2~3次。
按摩法:以手指指腹或指节按压,并做圈状按摩。患者取舒适卧位,操作者两手拇指指腹放置在患者的脾俞穴上,逐渐用力下压,按而揉之,使患处产生酸、麻、 胀、重的感觉。再用擦法,即来回摩擦穴位,使局部有热感向内部深透,以皮肤潮红为度。如此反复操作5~10分钟,每日或隔日1次。

脾俞穴治疗虚证哮喘
主要穴位:肺俞穴、膏肓穴、肾俞穴、太渊穴、太溪穴、足三里穴、定喘穴;
配伍穴位:配气海穴、脾俞穴,治疗肺气不足;配关元穴,治疗肺肾两虚;配天突穴,治疗喘甚。