Finished. Now for bug fixes

This commit is contained in:
Caleb Gardner
2023-12-24 18:20:05 -06:00
parent 5de59627df
commit d9132ab6a4
6 changed files with 385 additions and 20 deletions
+25
View File
@@ -0,0 +1,25 @@
package routinemanager
type Manager struct {
channel chan uint16
maxRoutines uint16
}
func NewManager(maxRoutines uint16) *Manager {
m := &Manager{
maxRoutines: maxRoutines,
channel: make(chan uint16, maxRoutines),
}
for i := uint16(0); i < maxRoutines; i++ {
m.channel <- i
}
return m
}
func (m *Manager) Lock() uint16 {
return <-m.channel
}
func (m *Manager) Unlock(i uint16) {
m.channel <- i
}