不用多線程?
成都創(chuàng)新互聯(lián)是一家專業(yè)提供迎江企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為迎江眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
即使用多線程,也不會(huì)是“同時(shí)”執(zhí)行,題主只要略懂一些計(jì)算機(jī)編譯原理就能明白了。
不用多線程更不可能讓兩個(gè)過(guò)程同步執(zhí)行了。
不過(guò)可以提供一個(gè)折衷的法子,示例如下:
Sub?a()
'過(guò)程一?
End?Sub?
Sub?b()
'過(guò)程二
End?Sub
Sub?Timer1_Tick()?'簡(jiǎn)寫了,實(shí)際在VB.NET里不是這樣的
Timer1.Enabled?=?False?
a()
End?Sub?????
Sub?Button1_Click()?'同樣簡(jiǎn)寫
Timer1.Enabled?=?True
b()
End?Sub
利用了一個(gè) Timer 控件,實(shí)現(xiàn)了這種偽同步(其實(shí)還是異步),a()、b() 兩個(gè)過(guò)程相互獨(dú)立切能并發(fā)運(yùn)行。
注意:上述代碼需要先把 Timer1 的 Enabled 屬性設(shè)置為 False,Interval 屬性要盡可能小。
把一個(gè)線程對(duì)一個(gè)sub的方法放到For循環(huán)中就是了啊,循環(huán)的次數(shù)你自己設(shè)定
見(jiàn)下面的代碼,自己換成真實(shí)的數(shù)據(jù)庫(kù)及表即可
Imports?System.Data
Imports?System.IO
Imports?System.Data.OleDb
Module?Module1
Public?cn1?As?New?OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data?Source=C:\ACCESS數(shù)據(jù)庫(kù)1.mdb")?'定義連接1---這里請(qǐng)更改為實(shí)際數(shù)據(jù)庫(kù)路徑及名稱?
Public?cn2?As?New?OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data?Source=C:\ACCESS數(shù)據(jù)庫(kù)2.mdb")?'定義連接2---這里請(qǐng)更改為實(shí)際數(shù)據(jù)庫(kù)路徑及名稱?
Public?DataBaseRST1?As?Integer?'用來(lái)返回?cái)?shù)據(jù)庫(kù)執(zhí)行結(jié)果?
Public?DataBaseRST2?As?Integer?'用來(lái)返回?cái)?shù)據(jù)庫(kù)執(zhí)行結(jié)果
Public?Function?DataModify(ByVal?str_cmd1?As?String,?ByVal?str_cmd2?As?String)?As?Boolean?'進(jìn)行數(shù)據(jù)庫(kù)修改操作函數(shù)?
Dim?cmdinsert1?As?New?OleDbCommand
Dim?cmdinsert2?As?New?OleDbCommand
Try
cmdinsert1.CommandText?=?str_cmd1
cmdinsert2.CommandText?=?str_cmd2
cmdinsert1.Connection?=?cn1
cmdinsert2.Connection?=?cn2
If?cn1.State?=?ConnectionState.Closed?Then?cn1.Open()
If?cn2.State?=?ConnectionState.Closed?Then?cn2.Open()
DataBaseRST1?=?cmdinsert1.ExecuteNonQuery()?'用來(lái)返回執(zhí)行的結(jié)果?
DataBaseRST2?=?cmdinsert2.ExecuteNonQuery()?'用來(lái)返回執(zhí)行的結(jié)果?
cn1.Close()
cn2.Close()
Return?True
Catch?ex?As?Exception
MessageBox.Show(Err.Description,?"Error",?MessageBoxButtons.OK,?MessageBoxIcon.Error)
Return?False
End?Try
End?Function
End?Module?
Public?Class?Form1?
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
DataModify("insert?into?aa?values?('1','2')",?"insert?into?aa?values?('1','2')")?'調(diào)用方法
End?Sub
End?Class
題主是否想詢問(wèn)“vbnet同時(shí)執(zhí)行多個(gè)任務(wù)怎么實(shí)現(xiàn)”?多線程操作。vbnet同時(shí)執(zhí)行多個(gè)任務(wù)通過(guò)多線程操作實(shí)現(xiàn),Visual Basic點(diǎn)虐 ,屬于計(jì)算機(jī)軟件領(lǐng)域,是計(jì)算機(jī)中實(shí)現(xiàn)網(wǎng)絡(luò)功能的編程語(yǔ)言。